sql 安装 问题!!
发布网友
发布时间:2022-04-08 21:27
我来回答
共2个回答
懂视网
时间:2022-04-09 01:48
TABLE [dbo].[Following](
[Id] [nvarchar](50) NOT NULL,
[Name] [nvarchar](40) NULL,
[Description] [nvarchar](400) NULL,
[BestCaseId] [int] NULL
CONSTRAINT [PK_Following] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Following] VALUES (‘1‘,‘data1‘,null,1)
INSERT INTO [dbo].[Following] VALUES (‘2‘,‘data2‘,null,2)
INSERT INTO [dbo].[Following] VALUES (‘3‘,‘data3‘,null,3)
INSERT INTO [dbo].[Following] VALUES (‘4‘,‘data4‘,null,4)
INSERT INTO [dbo].[Following] VALUES (‘5‘,‘data5‘,null,5)
INSERT INTO [dbo].[Following] VALUES (‘6‘,‘data6‘,null,6)
GO
SQL SCRIPT
但随着需求的变更,需要新添加一字段 RiskId, 字段值从 BestCaseId 字段获取:
ALTER TABLE [master].[dbo].[Following]
ADD RiskId INT
需要将 BestCaseId 字段值迁移到 RiskId 字段,脚本如下:
IF EXISTS(SELECT * FROM syscolumns WHERE id=object_id(‘Following‘) AND name=‘BestCaseId‘)
BEGIN
PRINT ‘Column BestCaseId exist‘
UPDATE [master].[dbo].[Following] SET RiskId =
(CASE
WHEN BestCaseId = 1
THEN 1
WHEN BestCaseId = 2
THEN 2
WHEN BestCaseId = 3
THEN 3
WHEN BestCaseId = 4
THEN 1
WHEN BestCaseId = 5
THEN 2
WHEN BestCaseId = 6
THEN 3
END)
END
ELSE
PRINT ‘Column BestCaseId is not exist‘
上述代码首先校验表中是否已存在相应字段,如果存在相应字段,打印并进行数据迁移;如果不存在,打印相应提示。
但问题是在已经存在 BestCaseId 字段的生产环境中可正常运行,但在不存在 BestCaseId 字段的新测试环境中却报错。
可通过删除 BestCaseId 字段进行测试:
ALTER TABLE [master].[dbo].[Following]
DROP COLUMN BestCaseId
在不存在 BestCaseId 字段情况下,迁移脚本虽然可通过 Parse, 但在执行时却会有如下 Error:
Msg 207, Level 16, State 1, Line 12
Invalid column name ‘BestCaseId‘.
错误原因一直不理解,但如果把 SQL SCRIPT 做为编译语言而非解释语言的话,就会理解错误原因,但原因却是这样吗?毕竟可以通过 Parse.
希望能尽早知道问题原因。
上述数据库环境为:MSSQL 2012 R2。
记一SQL部署问题
标签:
热心网友
时间:2022-04-08 22:56
你选择的是什么系统装的啊?
注意点:
在XP上不能安装 Enterprise 版本,
Express版本只能在本地访问,不能进行远程访问。
Express版本连接时需要在连接字符串中写 ***\SQLExpress
Developer版本可以进行远程访问,记住要启用TCP/IP连接,同时要设置好防火墙
SQL Server 2005 的版本和组件
可以在生产环境中使用所有版本的 SQL Server 2005,但 SQL Server 2005 Developer Edition 和 SQL Server 2005 Evaluation Edition 除外。以下段落介绍 SQL Server 2005 的多个版本。
SQL Server 2005 Enterprise Edition(32 位和 64 位)
Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。Enterprise Edition 是最全面的 SQL Server 版本,是超大型企业的理想选择,能够满足最复杂的要求。
SQL Server 2005 Evaluation Edition(32 位和 64 位)
SQL Server 2005 还推出了适用于 32 位或 64 位平台的 180 天 Evaluation Edition。SQL Server Evaluation Edition 支持与 SQL Server 2005 Enterprise Edition 相同的功能集。可以根据生产需要升级 SQL Server Evaluation Edition。
SQL Server 2005 Standard Edition(32 位和 64 位)
SQL Server 2005 Standard Edition 是适合中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。Standard Edition 的集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。SQL Server 2005 Standard Edition 是需要全面的数据管理和分析平台的中小型企业的理想选择。
SQL Server 2005 Workgroup Edition(仅适用于 32 位)
对于那些需要在大小和用户数量上没有*的数据库的小型企业,SQL Server 2005 Workgroup Edition 是理想的数据管理解决方案。SQL Server 2005 Workgroup Edition 可以用作前端 Web 服务器,也可以用于部门或分支机构的运营。它包括 SQL Server 产品系列的核心数据库功能,并且可以轻松地升级至 SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition。SQL Server 2005 Workgroup Edition 是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。
SQL Server 2005 Developer Edition(32 位和 64 位)
SQL Server 2005 Developer Edition 允许开发人员在 SQL Server 顶部生成任何类型的应用程序。该应用程序包括 SQL Server 2005 Enterprise Edition 的所有功能,但许可用作开发和测试系统,而不用作生产服务器。SQL Server 2005 Developer Edition 是独立软件供应商 (ISV)、咨询人员、系统集成商、解决方案供应商以及生成和测试应用程序的企业开发人员的理想选择。可以根据生产需要升级 SQL Server 2005 Developer Edition。
SQL Server 2005 Express Edition(仅适用于 32 位)
SQL Server Express 数据库平台基于 Microsoft SQL Server 2005。它也可以替换 Microsoft Desktop Engine (MSDE)。通过与 Microsoft Visual Studio 2005 集成,SQL Server Express 简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。
SQL Server Express 是免费的,可以再分发(受制于协议),还可以充当客户端数据库以及基本服务器数据库。SQL Server Express 是独立软件供应商 ISV、服务器用户、非专业开发人员、Web 应用程序开发人员、网站主机和创建客户端应用程序的编程爱好者的理想选择。如果需要更多的高级数据库功能,可将 SQL Server Express 无缝升级到更复杂的 SQL Server 版本。
SQL Server Express 还提供了一些附加组件,这些组件都作为具有高级服务的 Microsoft SQL Server 2005 Express Edition (SQL Server Express) 的一部分提供。除了 SQL Server Express 的功能外,具有高级服务的 SQL Server Express 还包括以下功能:
SQL Server Management Studio Express (SSMSE),SQL Server Management Studio 的子集。
支持全文目录。
支持通过 Reporting Services 查看报表。
SQL Server 2005 Mobile Edition(仅 32 位)
SQL Server Mobile 是简版数据库,将企业数据管理功能扩展到小型设备上。SQL Server Mobile 能够复制 Microsoft SQL Server 2005 和 Microsoft SQL Server 2000 的数据,并且允许用户维护与主数据库同步的移动数据存储。SQL Server Mobile 是唯一为智能设备提供关系数据库管理功能的 SQL Server 版本。
SQL Server 2005 Runtime Edition(32 位和 64 位)
SQL Server 2005 Runtime Edition 随 Microsoft ISV Royalty Program 提供。根据 SQL Server 2005 Runtime Edition 的最终用户许可协议,如果用户不使用 SQL Server 代码运行任何其他应用程序或者在任何其他上下文中使用 SQL Server 代码,独立软件供应商 (ISV) 可能将 SQL Server 代码嵌入到他们提供的解决方案中。关于 SQL Server Runtime Edition 的详细信息,请参阅 Microsoft 知识库中的文章如何获取 SQL Server Runtime 许可证 ()。