نصب SQL Server روی Windows Server Core: پارامترها، Smoke Test و عیب‌یابی | Pro SQL Server 2019 Administration

نصب SQL Server روی Windows Server Core: پارامترها، Smoke Test و عیب‌یابی

توسط admin | گروه SQL Server | 1405/05/20

نظرات 0

نصب SQL Server روی Windows Server Core: پارامترها، Smoke Test و عیب‌یابی

Chapter 3 — Server Core Installation (PDF pages 93–110)

نویسنده: Peter A. Carter

زبان منبع: انگلیسی

تاریخ ترجمه: 2026-08-11

اعتبار ترجمه: ترجمه با کمک هوش مصنوعی

PAGE-093

© Peter A. Carter 2019 — DOI متنی: doi.org/10.1007/978-1-4842-5089-1_3

فصل 3 — نصب Server Core

چون SQL Server از Remote Installation پشتیبانی نمی‌کند و Windows Server Core فقط CLI دارد و GUI ارائه نمی‌کند، نصب SQL Server روی Windows Server Core باید به‌صورت Command-line انجام شود. همچنین می‌توان از Configuration File برای Installationهای Consistent و Repeatable استفاده کرد.

این فصل ابتدا ملاحظات نصب SQL Server روی Windows Server Core را مرور می‌کند و سپس روش Installation روی این Platform را نشان می‌دهد. همچنین استفاده از Configuration File و نقش آن در ساده‌سازی Installationهای آینده و Enforcement مربوط به Consistency بررسی می‌شود.

در فصل 1 محدودیت‌های SQL Server روی Windows Server Core مطرح شد: بعضی Featureها مانند Reporting Services، Master Data Services و Data Quality Services پشتیبانی نمی‌شوند و برخی دیگر مانند Management Tools و Distributed Replay Client فقط به‌صورت Remote پشتیبانی می‌شوند. باید Operational Supportability در Skillهای مختلف سازمان، از جمله PowerShell Proficiency و Compatibility ابزارهای عملیاتی، وجود داشته باشد.

نصب Instance

نصب SQL Server در Windows Server Core شامل اجرای setup.exe از PowerShell Terminal است. setup.exe در Root Directory مربوط به SQL Server Installation Media قرار دارد. هنگام اجرا می‌توانید Switch و Parameterهایی ارسال کنید که برای Configuration Instance استفاده می‌شوند.

نکته: همین Process را در صورت نیاز می‌توان برای نصب SQL Server روی نسخه GUI-based Windows نیز استفاده کرد.
PAGE-094

پارامترهای الزامی

اگرچه بسیاری از Switchها و Parameterها اختیاری هستند، برخی همیشه باید وجود داشته باشند. هنگام نصب Stand-alone Instance مربوط به Database Engine، Parameterهای جدول 3-1 الزامی‌اند.

جدول 3-1 — Required Parameters
Parameterکاربرد
/IACCEPTSQLSERVERLICENSETERMSتأیید پذیرش SQL Server License Terms.
/ACTIONعمل موردنظر مانند Install یا Upgrade.
/FEATURES یا /ROLEFeatureهایی که باید نصب شوند.
/INSTANCENAMEنام اختصاص‌یافته به Instance.
/SQLSYSADMINACCOUNTSWindows Security Contextهایی که Administrative Permission در Database Engine Instance دریافت می‌کنند.
/AGTSVCACCOUNTAccount اجرای SQL Server Agent Service.
/SQLSVCACCOUNTAccount اجرای Database Engine Service.
/qsUnattended Install. در Windows Server Core الزامی است چون Installation Wizard پشتیبانی نمی‌شود.

IACCEPTSQLSERVERLICENSETERMS Switch

این یک Simple Switch برای نشان‌دادن پذیرش License Terms است و Value جداگانه‌ای دریافت نمی‌کند.

PAGE-095

ACTION Parameter

برای Basic Installation یک Stand-alone Instance، Value مربوط به /ACTION برابر install است؛ جدول 3-2 همه Valueهای ممکن را نشان می‌دهد.

جدول 3-2 — Valueهای قابل قبول برای /ACTION
Valueکاربرد
installنصب Stand-alone Instance.
PrepareImageآماده‌سازی Vanilla Stand-alone Image بدون جزئیات خاص Account، Computer یا Network.
CompleteImageتکمیل Prepared Stand-alone Image با افزودن جزئیات Account، Computer و Network.
UpgradeUpgrade Instance از SQL Server 2012، 2014، 2017 یا 2019.
EditonUpgradeUpgrade SQL Server 2019 از Edition پایین‌تر مانند Developer به بالاتر مانند Enterprise.
RepairRepair یک Instance خراب.
RebuildDatabaseRebuild System Databaseهای خراب.
UninstallUninstall یک Stand-alone Instance.
InstallFailoverClusterنصب Failover Clustered Instance.
PrepareFailoverClusterآماده‌سازی Vanilla Clustered Image بدون جزئیات Account، Computer یا Network.
CompleteFailoverClusterتکمیل Prepared Clustered Image.
AddNodeافزودن Node به Failover Cluster.
RemoveNodeحذف Node از Failover Cluster.

FEATURES Parameter

/FEATURES یک فهرست Comma-delimited از Featureهای مورد نصب را مشخص می‌کند؛ همه Featureها روی Windows Server Core قابل استفاده نیستند.

PAGE-096
جدول 3-3 — Valueهای قابل قبول /FEATURES
Valueروی Windows Coreتوضیح
SQLNOFull SQL Engine شامل Full Text، Replication و Data Quality Server.
SQLEngineYESDatabase Engine.
FullTextYESFull Text Search.
ReplicationYESReplication Components.
DQNOData Quality Server.
PolyBaseYESPolyBase Components.
AdvancedAnalyticsYESMachine Learning Solutions و In-Database R Services.
SQL_INST_MRYESR Packageها برای Machine Learning.
SQL_INST_MPYYESAnaconda و Python Packageها برای Machine Learning.
ASYESAnalysis Services.
DQCNOData Quality Client.
ISYESIntegration Services.
MDSNOMaster Data Services.
ToolsNOهمه Client Toolها.
BCNOBackward Compatibility Components.
ConnYESConnectivity Components.
DREPLAY_CTLRNODistributed Replay Controller.
DREPLAY_CLTNODistributed Replay Client.
SNAC_SDKNOClient Connectivity SDK.
SDKNOClient Tools SDK.
LocalDBYESExecution Mode مربوط به SQL Server Express برای Application Developerها.
PAGE-097
نکته: اگر Featureهای دیگری مانند Analysis Services یا Integration Services نصب کنید، Parameterهای الزامی دیگری نیز اضافه می‌شوند.

Role Parameter

به‌جای مشخص‌کردن Feature List با /FEATURES، می‌توان SQL Server را در یک Predefined Role با /ROLE نصب کرد.

جدول 3-4 — Valueهای /ROLE
Valueتوضیح
SPI_AS_ExistingFarmنصب SSAS به‌عنوان PowerPivot Instance در SharePoint Farm موجود.
SPI_AS_NewFarmنصب Database Engine و SSAS به‌عنوان PowerPivot Instance در SharePoint Farm جدید و پیکربندی‌نشده.
AllFeatures_WithDefaultsنصب همه Featureهای SQL Server و Componentهای آن. نویسنده جز در شرایط بسیار خاص توصیه نمی‌کند، چون Feature اضافی Security و Resource Utilization Footprint را افزایش می‌دهد.

Basic Installation

هنگام کار با Command-line Parameterهای setup.exe، Ruleهای Syntax جدول 3-5 باید رعایت شوند.

PAGE-098
نکته: برای Text Parameter، Quote فقط وقتی لازم است که Value دارای Space باشد؛ بااین‌حال همیشه قراردادن Quote Good Practice است.

با فرض اینکه در Root Directory Installation Media هستید، Listing 3-1 Syntax مربوط به PowerShell برای نصب Database Engine، Replication و Client Connectivity را نشان می‌دهد. همه Optional Parameterها Default هستند، به‌جز Collation که روی Windows Collation با نام Latin1_General_CI_AS تنظیم می‌شود.

نکته: هنگام Boot شدن Windows Server Core، Interface اولیه Command Prompt است نه PowerShell. برای ورود به PowerShell عبارت powershell را تایپ کنید.

Listing 3-1 — Installing SQL Server from PowerShell

.\SETUP.EXE /IACCEPTSQLSERVERLICENSETERMS /ACTION="Install"
/FEATURES=SQLEngine,Replication,Conn
/INSTANCENAME="PROSQLADMINCORE2"
/SQLSYSADMINACCOUNTS="Administrator"
/SQLCOLLATION="Latin1_General_CI_AS" /qs
نکته: اگر به‌جای PowerShell از Command Prompt استفاده می‌کنید، کاراکترهای ابتدایی .\ لازم نیست.
جدول 3-5 — Ruleهای Syntax برای Command-Line Parameter
نوع ParameterSyntax
Simple switch/SWITCH
True/False/PARAMETER=true/false
Boolean/PARAMETER=0/1
Text/PARAMETER="Value"
Multivalued text/PARAMETER="Value1" "Value2"
/FEATURES/FEATURES=Feature1,Feature2
PAGE-099

در مثال منبع، SQL Server Instance با نام PROSQLADMINCORE نصب خواهد شد. Database Engine و SQL Agent Service هر دو زیر Account با نام SQLServiceAccount1 اجرا می‌شوند و Windows Group با نام SQLDBA به Administrator تبدیل می‌شود. هنگام شروع Installation نسخه ساده‌شده و Noninteractive مربوط به Installation Wizard نمایش داده می‌شود تا Progress را نشان دهد.

Smoke Testها

پس از نصب Instance روی Windows Server Core که در انتهای Installation Summary Screen ندارد، بهتر است Smoke Test انجام شود. در اینجا Smoke Test یعنی Test سریع و سطح‌بالا برای اطمینان از Running بودن Serviceها و Accessible بودن Instance.

Listing 3-2 با PowerShell cmdlet به نام Get-Service وجود و Status سرویس‌های مربوط به PROSQLADMINCORE Instance را بررسی می‌کند. Asterisk به‌عنوان Wildcard همه Serviceهایی را برمی‌گرداند که Instance Name را دارند؛ بنابراین Serviceهایی مانند SQL Browser برگردانده نمی‌شوند.

Listing 3-2 — Checking Status of Services

Get-Service -displayname *PROSQLADMINCORE2* | Select-Object name,
displayname, status

نتایج شکل 3-1 نشان می‌دهد SQL Server و SQL Agent Service هر دو نصب شده‌اند؛ SQL Server Service Started و SQL Agent Service Stopped است. این با انتظار منطبق است چون Startup Mode Parameter برای هیچ‌کدام استفاده نشده؛ Default Startup Mode مربوط به SQL Server Automatic و SQL Agent Manual است.

PAGE-100
Figure 3-1نتیجه Smoke Test برای بررسی Status سرویس‌ها.
Figure 3-1 — شکل/تصویر منبع، صفحه PDF 100

Smoke Test دوم استفاده از Invoke-Sqlcmd برای اجرای T-SQL Statementی است که Instance Name را برمی‌گرداند. برای Invoke-Sqlcmd یا سایر SQL Server PowerShell cmdletها باید PowerShell Module با نام sqlserver نصب باشد. این Module جایگزین SQLPS منسوخ شده و cmdletهای بیشتری دارد.

در Windows Server با Desktop Experience، sqlserver Module همراه نصب SSMS موجود است. در Server Core یا زمانی که SSMS نصب نمی‌شود، Module از PowerShell Gallery قابل دریافت است. اگر Server به Internet دسترسی دارد، Listing 3-3 ابتدا آخرین Version Module را پیدا کرده و سپس Download و Install می‌کند. نشانی بیرونی منبع به متن غیرقابل کلیک تبدیل شده است.

PAGE-101

Listing 3-3 — Install the sqlserver Module

#Locate and list the current version of the sqlserver module
Find-Module sqlserver
#Download and install the sqlserver module
Install-Module sqlserver
نکته: نخستین بار که Find-Module را اجرا کنید، برای نصب NuGet Provider Prompt دریافت می‌کنید.

پس از نصب sqlserver Module، Script در Listing 3-4 نام Instance را برمی‌گرداند.

نکته: این همان Query است که Cluster در IsAlive Test استفاده می‌کند؛ Impact سیستمی کمی دارد و فقط Accessible بودن Instance را بررسی می‌کند.

Listing 3-4 — Checking If Instance Is Accessible

Invoke-Sqlcmd –serverinstance "localhost\PROSQLADMINCORE2" -query
"SELECT @@SERVERNAME"

در این مثال -serverinstance برای Instance Name اتصال و -query برای Query اجرایی استفاده شده است. نتیجه Smoke Test در شکل 3-2 نشان می‌دهد Query با موفقیت Resolve شده و Instance Name را برگردانده است.

PAGE-102
Figure 3-2نتیجه Smoke Test برای بررسی دسترسی به Instance.
Figure 3-2 — شکل/تصویر منبع، صفحه PDF 102

Troubleshooting Installation

اگر هنگام Installation Error رخ دهد یا Smoke Test شکست بخورد باید Installation عیب‌یابی شود. نبود GUI ممکن است دشوار به نظر برسد، اما SQL Server Installation Process مجموعه کامل Verbose Log تولید می‌کند. مهم‌ترین Logها در جدول 3-6 آمده‌اند.

جدول 3-6 — SQL Server Installation Logs
Log FileLocation
Summary.txt%programfiles%\Microsoft SQL Serverh\Setup Bootstrap\Log\
Detail.txt%programfiles%\Microsoft SQL Serverh\Setup\Bootstrap\Log\<YYYYMMDD_HHMM>\
SystemConfigurationCheck_Report.htm%programfiles%\Microsoft SQL Serverh\Setup Bootstrap\Log\<YYYYMMDD_HHMM>\
PAGE-103

Summary.txt

Summary.txt معمولاً نخستین محل بررسی هنگام Troubleshoot کردن Installation Issue است. اطلاعات پایه Installation را ارائه می‌کند و اغلب برای تشخیص Issue کافی است. نمونه شکل 3-3 در Exit Message روشن می‌کند Installation به دلیل طولانی‌بودن Instance Name شکست خورده است.

Figure 3-3نمونه محتوای Summary.txt در یک Installation ناموفق.
Figure 3-3 — شکل/تصویر منبع، صفحه PDF 103

علاوه بر اطلاعات سطح بالا مانند Exit Code، Exit Message و Start/End Time، summary.txt جزئیات OS Environment را نیز ارائه می‌کند. همچنین Componentهایی که Setup تلاش کرده نصب کند و Status هر MSI یا Microsoft Installer اجراشده را فهرست می‌کند و Command-line Parameterهای مشخص‌شده را نشان می‌دهد. در انتهای File نیز Exception Summary شامل Stack Trace وجود دارد.

در Windows Server Core می‌توان Text File را با Notepad باز کرد. پس از رفتن به Folder مربوط به Setup Log، فرمان notepad summary.txt File را باز می‌کند.

Detail.txt

اگر summary.txt Detail کافی ندهد، محل بعدی detail.txt است. این یک Verbose Log از Actionهای Installation است.

PAGE-104

Actionها بر اساس زمان Execution مرتب شده‌اند نه Component اجراکننده. برای پیدا کردن Error باید Stringهای error و exception را Search کنید.

SystemConfigurationCheck_Report.htm

این File Description و Status هر Rule Check انجام‌شده در Installation را به شکل Web Page ارائه می‌کند. Windows Server Core توان Render کردن HTML ندارد. یک Option این است که File را در Notepad ببینید؛ Detail وجود دارد اما میان HTML Tagها و بدون Formatting مناسب. Option دوم بازکردن Remote File از Machine دارای GUI است؛ اگر Share روی Server دارید که File را سریع در آن قرار دهید، روش بهتری است. در غیر این صورت ممکن است ارزش صرف زمان نداشته باشد، خصوصاً وقتی Installation همین حالا شکست خورده و Project Team منتظر رفع سریع Issue است.

سایر Log Fileها

Setup Routine تعداد زیادی Log File دیگر می‌سازد؛ از جمله Folderی به نام Datastore با مجموعه XML Fileهایی که هر کدام Configuration Setting منفرد را نمایش می‌دهند. Copy مربوط به Configuration File تولیدشده توسط Setup و File به نام settings.xml نیز وجود دارد. settings.xml Metadata مربوط به Configuration Optionها، از جمله Source Value مانند Default Value یا User-specified را تعریف می‌کند.

برای هر MSI اجراشده در Setup یک Verbose Log نیز ایجاد می‌شود و تعداد آن‌ها به Featureهای انتخاب‌شده بستگی دارد. در Windows Server Core، تا زمانی که SSAS-only Installation نباشد، حداقل یک .log مربوط به SQL Engine وجود دارد. این Logها Detail بسیار ریزتری درباره MSI خاص خود ارائه می‌کنند.

PAGE-105

استفاده از MSI Logها کاملاً ساده نیست؛ ممکن است Errorهای زیادی ببینید که معلول Error قبلی هستند نه Root Cause. Fileها را بر اساس Creation Time مرتب کنید و از انتها به عقب بررسی نمایید؛ آخرین Error یافت‌شده Root Cause خواهد بود. برای Search Errorها String مربوط به Return value 3 را جست‌وجو کنید. بااین‌حال همه occurrenceهای Return value 3 لزوماً Unexpected Error نیستند و بعضی Resultهای مورد انتظارند.

Optional Parameterها

Switch و Parameterهای اختیاری زیادی برای Customize کردن Configuration Instance وجود دارد. Table 3-7 آن‌ها را برای Database Engine Installation فهرست می‌کند.

نکته: اگر Account از نوع MSA/gMSA است Password Account را مشخص نکنید. این موضوع شامل Database Engine و SQL Server Agent Service Accountهایی نیز می‌شود که در غیر این صورت Password آن‌ها الزامی است.
جدول 3-7 — Optional Parameters (بخش 1)
Parameterکاربرد
/AGTSVCSTARTUPTYPEStartup Mode مربوط به SQL Agent: Automatic، Manual یا Disabled.
/BROWSERSVCSTARTUPTYPEStartup Mode مربوط به SQL Browser: Automatic، Manual یا Disabled.
/CONFIGURATIONFILEPath مربوط به Configuration File شامل Switch و Parameterها، تا لازم نباشد Inline در Setup مشخص شوند.
/ENUاجبار استفاده از English Version SQL Server هنگام نصب روی Server با Localized Setting و Media دارای Language Pack مربوط به English و OS محلی.
PAGE-106
جدول 3-7 — Optional Parameters (ادامه 2)
Parameterکاربرد
/FILESTREAMLEVELEnable کردن FILESTREAM و Access Level: 0=Disabled، 1=فقط SQL Server، 2=IO Streaming، 3=Remote Streaming. Levelهای 1 تا 3 روی هم Build می‌شوند.
/FILESTREAMSHARENAMEنام Windows File Share محل FILESTREAM Data؛ وقتی FILESTREAMLEVEL برابر 2 یا 3 است الزامی می‌شود.
/FTSVCACCOUNTAccount اجرای Full-Text Filter Launcher Service.
/FTSVCPASSWORDPassword Account اجرای Full-Text Filter Launcher Service.
/HIDECONSOLEمخفی‌کردن Console.
/INDICATEPROGRESSPipe کردن Setup Log به Screen هنگام Installation.
/IACCEPTPYTHONLICENSETERMSهنگام نصب Anaconda Python Package با /q یا /qs الزامی.
/IACCEPTROPENLICENSETERMSهنگام نصب Microsoft R Package با /q یا /qs الزامی.
/INSTANCEDIRFolder Location مربوط به Instance.
/INSTANCEIDInstance ID؛ استفاده از آن طبق فصل 2 Bad Practice است.
/INSTALLSHAREDDIRFolder مربوط به Shared 64-bit Componentها.
/INSTALLSHAREDWOWDIRFolder مربوط به Shared 32-bit Componentها؛ نباید با 64-bit مشترک باشد.
/INSTALLSQLDATADIRDefault Folder Location مربوط به Instance Data.
PAGE-107
جدول 3-7 — Optional Parameters (ادامه 3)
Parameterکاربرد
/NPENABLEDNamed Pipes: 0=Disabled، 1=Enabled.
/PIDPID مربوط به SQL Server. اگر Media از قبل PID نداشته باشد و این Parameter مشخص نشود Evaluation Edition نصب می‌شود.
/PBENGSVCACCOUNTAccount اجرای PolyBase Service.
/PBDMSSVCPASSWORDPassword Account اجرای PolyBase Service.
/PBENGSVCSTARTUPTYPEStartup Mode مربوط به PolyBase: Automatic، Manual یا Disabled.
/PBPORTRANGERange پورتی که PolyBase Listen می‌کند؛ حداقل شش Port.
/PBSCALEOUTتعیین عضویت Database Engine در PolyBase Scale-out Group.
/SAPWDPassword مربوط به SA Account؛ در Mixed Mode و SECURITYMODE=SQL الزامی.
/SECURITYMODEبا Value=SQL برای Mixed Mode؛ بدون این Parameter از Windows Authentication استفاده می‌شود.
/SQLBACKUPDIRDefault Location مربوط به SQL Server Backupها.
/SQLCOLLATIONCollation مورد استفاده Instance.
/SQLMAXDOPMaximum Degree of Parallelism مربوط به Queryهای Instance.
/SQLMAXMEMORYMaximum RAM قابل تخصیص به Database Engine.
PAGE-108
جدول 3-7 — Optional Parameters (ادامه 4)
Parameterکاربرد
/SQLMINMEMORYMinimum Memory اختصاص‌یافته به Database Engine؛ هنگام Start بلافاصله این مقدار Consume می‌شود.
/SQLSVCSTARTUPTYPEStartup Mode مربوط به Database Engine Service: Automatic، Manual یا Disabled.
/SQLTEMPDBDIRFolder Location مربوط به TempDB Data Fileها.
/SQLTEMPDBLOGDIRFolder Location مربوط به TempDB Log Fileها.
/SQLTEMPDBFILECOUNTتعداد TempDB Data File.
/SQLTEMPDBFILESIZEاندازه هر TempDB Data File.
/SQLTEMPDBFILEGROWTHGrowth Increment برای TempDB Data File.
/SQLTEMPDBLOGFILESIZEInitial Size مربوط به TempDB Log File.
/SQLTEMPDBLOGFILEGROWTHGrowth Increment مربوط به TempDB Log File.
/SQLUSERDBDIRDefault Location مربوط به Data Fileهای User Database.
/SQLUSERDBLOGDIRDefault Folder Location مربوط به Log Fileهای User Database.
/SQMREPORTINGSQL Reporting: 0=Disable، 1=Enable.
/SQLSVCINSTANTFILEINITاعطای Perform Volume Maintenance Tasks به Database Engine Service Account؛ true/false.
/TCPENABLEDTCP: 0=Disable، 1=Enable.
/UPDATEENABLEDProduct Update: 0=Disable، 1=Enable.
/UPDATESOURCELocation جست‌وجوی Product Update؛ MU برای Windows Update یا File Share/UNC.
PAGE-109

Product Update

Product Update جایگزین Slipstream Installation منسوخ‌شده SQL Server شده و اجازه می‌دهد جدیدترین CU یا Cumulative Update یا GDR یا General Distribution Release — Hotfix مربوط به Security Issue — هم‌زمان با Base Binaryهای SQL Server نصب شود. این قابلیت زمان و تلاش DBA برای نصب Update بلافاصله پس از Instance Installation را کم می‌کند و به Consistent Patching Level در Buildهای جدید کمک می‌کند.

نکته: از SQL Server 2017 به بعد Service Pack منتشر نمی‌شود و همه Updateها CU یا GDR هستند.

برای استفاده از این قابلیت دو Parameter لازم است: /UPDATEENABLED با Value برابر 1 یا True و /UPDATESOURCE برای تعیین محل Product Update. Value مربوط به MU باعث بررسی Microsoft Update یا WSUS می‌شود؛ یا می‌توان Relative Path مربوط به Folder یا UNC مربوط به Network Share را داد.

مثال بعدی SQL Server 2019 را همراه CU1 موجود روی Network Share نصب می‌کند. GDR یا CU هنگام Download در Self-extracting Executable قرار دارند. حتی اگر WSUS استفاده نمی‌کنید، پس از Sign-off کردن Patching Level جدید کافی است CU داخل Network Share را جایگزین کنید تا Buildهای جدید Update جدید را دریافت کنند بدون اینکه PowerShell Script ساخت Instance تغییر کند.

Listing 3-5 Instance با نام PROSQLADMINCU1 را نصب می‌کند و هم‌زمان CU1 روی File Server را نصب می‌کند.

نکته: Account اجرای Installation باید Permission دسترسی به File Share را داشته باشد.
PAGE-110

Listing 3-5 — Installing CU During Setup

.\SETUP.EXE / IACCEPTSQLSERVERLICENSETERMS /ACTION="Install"
/FEATURES=SQLEngine,Replication,Conn
/INSTANCENAME="PROSQLADMINCU1"
/SQLSVCACCOUNT="MyDomain\SQLServiceAccount1" /SQLSVCPASSWORD="Pa$$w0rd"
/AGTSVCACCOUNT="MyDomain\SQLServiceAccount1" /AGTSVCPASSWORD="Pa$$w0rd"
/SQLSYSADMINACCOUNTS="MyDomain\SQLDBA" /UPDATEENABLED=1
/UPDATESOURCE="\192.168.183.1\SQL2019_CU1" /qs

Listing 3-6 تفاوت دو Instance را بررسی می‌کند. Invoke-Sqlcmd به PROSQLADMINCORE2 وصل می‌شود و System Variable شامل Full Version Detail و Build Number را همراه Instance Name برمی‌گرداند.

Listing 3-6 — Determining Build Version of Each Instance

$parameters = @{
        ServerInstance = 'localhost\PROSQLADMINCORE2'
        Query = "
                SELECT
                          @@SERVERNAME
                        , @@VERSION
        "
}
Invoke-sqlcmd @parameters

در این مثال از تکنیک PowerShell با نام Splatting استفاده شده است. Splatting اجازه می‌دهد Parameterها از قبل تعریف شوند و Code خواناتر شود. چون می‌توان چند Splatting Group در Invoke-Sqlcmd داشت، Query را می‌توان در Group جدا از سایر Parameterها قرار داد تا همان Parameter Set در Invocationهای مختلف Reuse شود. نتیجه در شکل 3-4 که در مقاله بعد آمده نمایش داده شده است.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500