2017-05-26 72 views
-1

不同数据库中的数据我有11 databases其中我有表包含User Details即所有雇员的信息。在那里,我有一栏“Status"(which is 1 for Active and 0 for Inactive)。我有更新常规任务”中提到的员工,并为Status“栏值0 or 1,我必须去通过所有的数据库,然后用户表,然后我需要更新,同样的任务,我有对于所有的数据库做,它消耗了大量的时间。 如果我会得到一个短QueryProcedure,我要运行一次,并会尽一切更新用一次的话,这将是一个很大的帮助。更新多个表从具有相同的列名

+0

不能创建具有“康恩用户/ PSW @分贝”为你想要做你的更新每个数据库SQL脚本? – sandman

+1

为什么你有11个数据库? – Strawberry

+0

嗨萨加尔...我有11个不同的现场Dot网络应用程序,我必须为此完整n最终用户。 –

回答

0

我看到一对夫妇的可能的选择。

你可以建立一个SSIS包来连接到每个数据库并进行必要的更新提供了其员工更新,什么更新的标准它们可以在数据库或某个外部源(如文本文件)中找到。

或者,你可以在SQL Server Management Studio中使用SQLCMD模式,然后你的SQL脚本中使用CONNECT命令切换到每个服务器和数据库这样的事情...

:CONNECT Server1 
USE Database1 

--put your update SQL script 

:CONNECT Server2 
USE Database2 

--put your update SQL script 

... 

这些链接提供了一些进一步的使用SQLCMD模式信息...

Connecting to multiple servers in a Query Window using SQLCMD

SQL Server SQLCMD Basics

诺埃尔

+0

有没有其他更简单的方法来做到这一点? –

+0

我想不出更短的路。我的两个建议都需要一些初步的努力,但之后你只需要运行它们。看起来好像比单独连接11台服务器和数据库要好。 – nscheaffer

0

正如你所说,你有11个数据库。

问题:首先,你正在使用的数据库设计非常糟糕的做法,

到底发生了什么:当您使用多个数据库,你需要在每一个数据库来检查,然后服务器需要连接到不同的数据库一次又一次,由于连接处理,与切换到表相比需要更多的时间。

解决方案:在你的情况下,你只有一个选项来连接循环中的不同数据库,然后在循环中为每个数据库运行查询。

建议:您应该保留所有数据在同一个数据库中,您可以使用表中的额外列来跟踪您的数据到不同的实体。

+0

11数据库..为什么这么做是因为客户端正在使用11种不同的应用程序,因此数据库也会在每个应用程序中出现 –

相关问题