小编mat*_*ewb的帖子

创建指向自身的链接服务器

我正在尝试servername\instancename使用以下调用在 SQL Server 2014 实例上创建链接服务器:

EXEC master.dbo.sp_addlinkedserver 
    @server = N'servername\instancename',
    @srvproduct=N'SQL Server'
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Msg 15028, Level 16, State 1, Procedure sp_addlinkedserver, Line 82
The server 'servername\instancename' already exists.
Run Code Online (Sandbox Code Playgroud)

这在 SQL Server 2005 中运行良好,并且根据MSDN

链接服务器不必是 SQL Server 的另一个实例,

所以我不确定最近版本中不允许这样做的更改。使用 UI 会生成类似的消息:

不能将本地 SQL Server 创建为链接服务器。

我知道请求是一件奇怪的事情,但它是为了支持一些在 2005 年工作的遗留代码(并且曾经在不同的实例上)。文档指出它应该可以工作,但事实并非如此。有没有办法让它在 2014 年工作,或者我将不得不修改底层代码?

sql-server linked-server sql-server-2014

14
推荐指数
2
解决办法
2万
查看次数

ALTER TABLE CHECK CONSTRAINT 是多余的吗?

我创建了一个带有外键约束的表。当我通过 SSMS 生成表创建脚本时,它会创建以下代码:

ALTER TABLE [dbo].[MainTable]  WITH CHECK ADD  CONSTRAINT [FK_MainTable_ForeignKeyTable] FOREIGN KEY([FK_Field])
REFERENCES [dbo].[ForeignKeyTable] ([PK_Field])
GO

ALTER TABLE [dbo].[MainTable] CHECK CONSTRAINT [FK_MainTable_ForeignKeyTable]
GO
Run Code Online (Sandbox Code Playgroud)

由于第一个语句创建了 WITH CHECK 约束,这是否会使第二个语句变得多余?如果不是,那么 CHECK CONSTRAINT 完成了 WITH CHECK 没有完成的任务是什么?

我看到了ALTER TABLE CHECK CONSTRAINT,但在这种情况下,SSMS 正在生成第一个语句 WITH NOCHECK,所以有两个语句是有意义的。

sql-server constraint ssms sql-server-2014 check-constraints

5
推荐指数
1
解决办法
2686
查看次数

在一次执行中运行许多 CREATE VIEW 和 GRANT SELECT 语句

有没有办法通过在 SQL Server Management Studio 中按 F5 来运行多个 CREATE VIEW 命令和/或多个 GRANT SELECT 命令?如果是这样,我该怎么做?

sql-server ssms view

1
推荐指数
1
解决办法
2045
查看次数