天天看點

《PowerShell V3——SQL Server 2012資料庫自動化運維權威指南》——1.6 導入SMO程式集

本節書摘來自異步社群出版社《powershell v3—sql server 2012資料庫自動化運維權威指南》一書中的第1章,第1.6節,作者:【加拿大】donabel santos,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

在使用smo庫之前,需要導入程式集。在sql server 2012中,這個步驟比以前容易得多。

sql管理對象(sql management objects,smo)必須已經安裝在你的機器上。

在這個方案中,我們将導入sqlps子產品。

1.打開powershell控制台或者powershell ise,或者你喜歡的powershell編輯器。

2.輸入import-module指令。

3.确認子產品被導入。

導入smo程式集的方法在不同powershell版本之間有所不同。

在powershell v1中,可以使用load()或loadwithpartialname()方法導入程式集。loadwithpartialname()接受程式集的部分名稱,從應用程式目錄或者全局程式集緩存(global assembly cache,gac)導入。

盡管loadwithpartialname()仍被支援,仍然保留了流行的導入程式集方法,但這個方法不應該再被使用,因為它将會在将來的版本中被廢棄。

load()需要程式集的完整辨別名。

在powershell v2中,可以通過add-type添加程式集。

在powershell v3中,不再需要逐個導入程式集,隻需導入sqlps。

如果你正在使用特定的sql server版本,可能在有些情況下你仍然需要導入特定的dll版本,或者你可能隻想導入特定的程式集而不是導入整個sqlps子產品。在這種情況下,add-type仍然是導入程式集的有效方法。

當你導入sqlps子產品時,你可能會看到關于沖突或未經準許之類的語言。

這意味着有些cmdlets不需要遵守powershell命名規範,但子產品和它包含的cmdlets仍然全部導入到你的主機。為了阻止該警告,導入子產品時使用-disablenamechecking參數。

安裝smo的方法