sql - 如何在不安装 SQL Server 2005 的情况下测试语法

标签 sql sql-server sql-server-2008 sql-server-2005 version

我正在使用 SQL Server 2008。在我的本地开发中一切正常。

但是当我将程序和存储过程部署到使用 SQL Server 2005 的客户端工作站时,出现错误。

我相信这是由 SQL Server 2005 和 2008 之间的语法问题引起的,因为我已经修复了一些部分并且可以修复。我在使用SQL Server 2008的时候在论坛里一个一个的找错误,非常耗时。

那么有什么方法可以不用安装SQL Server 2005编辑器就可以写存储过程吗?

谢谢你的帮助

最佳答案

使用数据库的兼容级别,您可以在 SQL Server 2008 中创建一个数据库,然后使其看起来、感觉和运行起来都像 SQL Server 2005

步骤:

  1. 创建您的数据库 - 可视化或使用

    CREATE DATABASE MySampleDB
    

    这会在您的服务器上创建一个数据库,其默认兼容级别由服务器上的 model 数据库定义。在 SQL Server 2008 机器上,这通常是 100 的兼容级别。

  2. 检查兼容性级别:

    USE MySampleDB
    GO
    SELECT name, compatibility_level
    FROM sys.databases
    WHERE database_id = DB_ID()
    
  3. 现在将兼容级别设置为 90 以模拟 SQL Server 2005 数据库:

    ALTER DATABASE MySampleDB
    SET COMPATIBILITY_LEVEL = 90
    

现在,您有一个行为和外观都像 SQL Server 2005 的 MySampleDB - SQL Server 2005 中不可用的任何 T-SQL 构造也会在该数据库中引起问题和错误! (例如 DATE 数据类型或其他东西)

关于sql - 如何在不安装 SQL Server 2005 的情况下测试语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28716038/

相关文章:

c# - EF 递归层次结构

sql - PostgreSQL - 创建一个使用两列数据更新另一列的函数

sql - sql中的希伯来语和其他语言

sql-server - 记录 SQL 错误

sql - 用函数替换 SQL Server Query 中常用的复杂测试

mysql - SQL 表 - 根据 table1 值计算 table2 中的行

sql-server - SQL 解析出多个子字符串

sql-server - Visual Studio 2010 数据库项目中的条件文件组文件脚本

sql-server-2008 - 有没有办法从 C# 代码检查池中的连接?

c# - SQL语句耗时长线程冲突如何解决?