Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
皆さん、こんにちは。 BI Data Platform サポートチームです。
SQL Server 2017 以降ではインストール時に tempdb の初期サイズを変更できるようになっています。
これに伴い、インストール時にある程度大きなサイズを指定してインストールを検討されるお客様もいらっしゃるかと思います。
ただ、上記の初期サイズの設定箇所では内部的なタイムアウト(20分)が設定されており、ファイルの作成に20分を超えるとインストールが失敗(Execution Timeout Expired)します。
tempdbの初期サイズが変更できる新機能ではありますが、それ故に大きなサイズを指定してインストールが失敗する事がないように、事例としてご紹介させて頂きます。
事象
SQL Server 2017 のインストール時に大きい tempdb のファイルサイズを指定した場合、セットアップが失敗する事がある。
//エラー画面
//Message全文
The following error has occurred:
Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
//ログ抜粋
C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\yyyymmdd_hhmmss\Detail.txt
(01) 2017-10-27 11:52:39 Slp: --SafeSqlCommand: EXEC sp_SetAutoSAPasswordAndDisable
(01) 2017-10-27 11:52:39 Slp: --SafeSqlCommand: ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, SIZE = xxxx MB, FILEGROWTH = xxx MB)
(01) 2017-10-27 12:12:44 Slp: Sco: SqlException: Message:Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
:
(01) 2017-10-27 12:13:28 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC.
(01) 2017-10-27 12:13:28 Slp: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
(01) 2017-10-27 12:13:28 Slp: The configuration failure category of current exception is ConfigurationFailure
(01) 2017-10-27 12:13:28 Slp: Configuration action failed for feature SQL_Engine_Core_Inst during timing ConfigRC and scenario ConfigRC.
(01) 2017-10-27 12:13:28 Slp: System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
原因
SQL Server 2017 の新機能でInstall 時に tempdb のデータベースファイルサイズを明示的に変更できるようになっています。
SQL Server 2017 の新機能
/ja-jp/sql/sql-server/what-s-new-in-sql-server-2017
セットアップ時に、ファイルあたり 256 GB (262,144 MB) までの初期 tempdb ファイル サイズを指定できるようになりました。
インストール時にtempdbのファイルサイズとして最大で256GBのファイルサイズを指定ができますが、インストール時に大きいファイルサイズを指定した場合、256GBの領域割り当てに時間を要する可能性があります。
インストール時に指定したサイズに拡張するまでに20分以上経過する場合にはタイムアウトが発生します。この場合、SQL Server 2017 のインストールは失敗します。
**対処**インストール時には tempdb のファイルサイズを変更せず、インストール後に ALTER DATABASE 文でファイルサイズの変更を行ってください。
use master
go
ALTER DATABASE tempdb modify file (NAME = tempdev, SIZE = xxx MB)
go
[ 参考情報 ]
ALTER DATABASE (TRANSACT-SQL) の File および Filegroup オプション
/ja-jp/sql/t-sql/statements/alter-database-transact-sql-file-and-filegroup-options
E. ファイルを変更する
※ 本Blogの内容は、 2017年11月現在の内容となっております 。