Tôi đã sử dụng tập lệnh này mà không gặp sự cố trên máy x64. Vấn đề với lời gọi x86 là tập lệnh tìm kiếm các khóa đăng ký mà trên một phiên bản x64 chỉ có thể truy cập được từ x64 PowerShell. Đối với lời gọi x64, bạn có thể thử đăng ký snapins vì đó là thông báo lỗi bạn nhận được. Chạy với tư cách quản trị viên ...
Thay đổi điều này:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
về điều này:
cd $sqlpsPath
$framework=$([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
Set-Alias installutil "$($framework)installutil.exe"
installutil Microsoft.SqlServer.Management.PSSnapins.dll
installutil Microsoft.SqlServer.Management.PSProvider.dll
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
Một giải pháp tốt hơn nữa là không sử dụng add-pssnapin thay vào đó biến sqlps thành một mô-đun. Tôi có bài đăng trên blog ở đây: http://sev17.com/2010 / 07/10 / make-a-sqlps-module
Bản cập nhật cho SQL Server 2012 - hiện đã gửi một mô-đun sqlps mà bạn có thể cài đặt thay cho blog ở trên: http://www.microsoft.com/en-us/download/details.aspx?id=35580