2017-05-26 92 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種不同的應用程序,因此數據庫也會在每個應用程序中出現 –

相關問題