SQL Server 2012 のセットアップと移行に関する既知の問題
この記事では、SQL Server 2012 のセットアップと移行に関する問題について説明します。
元の製品バージョン: SQL Server
元の KB 番号: 2681562
SQL Server 2012 に固有のセットアップと移行の問題
一般的な注意事項
既定では、Windows 8 には .NET Framework 4.0 が含まれています。 Windows 8.1 および Windows Server 2012 R2 には .NET Framework 4.5 が含まれており、Windows 10 および Windows Server 2016 には .NET Framework 4.6 が含まれています。 ただし、次の SQL Server 2012 コンポーネントは.NET Framework 3.5 に依存しています。
- SQL Server 2012 データベース エンジン
- レプリケーション サービス
- SQL Server Data Tools
- Data Quality Services
- マスター データ サービス
- Reporting Service ネイティブ モード
- フルテキスト検索
そのため、SQL Server 2014 または SQL Server 2012 をスタンドアロン環境またはクラスター環境にインストールする前に、.NET 3.5 Framework を有効にして、SQL Server のセットアップエラーを防ぐことをお勧めします。
.NET 3.5 Framework を有効にする方法については、次の記事を参照してください。
SQL Server 2012 のインストールとセットアップに関する一部の問題は、SQL Server 2012 の最新の累積的な更新プログラムで修正されています。 そのため、 /Update パラメーターを使用して、SQL Server 2012 および CU3 以降の更新プログラムを含むスリップストリーム インストール パッケージを作成することをお勧めします。 これを行う方法の詳細については、「SQL Server 2012 のセットアップがスマートになった更新されたセットアップ パッケージを使用して SQL Server 2012 セットアップに修正プログラムを適用する方法 (UpdateSource を使用してスマート セットアップを取得する)を参照してください。
.NET Framework 3.5 が有効になっていない場合に発生する可能性がある SQL Server 2012 セットアップの問題
問題 1 - 不完全な SQL フェールオーバー クラスターまたはスタンドアロン インストール
現象
.NET Framework 3.5 がまだインストールされていないサーバー、またはインターネット アクセスが制限されているサーバーでは、SQL Server 2012 インストール プログラムでは、.NET Framework 3.5 に依存するコンポーネントはインストールされません。 そのため、SQL Server 2012 のインストールが不完全である可能性があります。
Note
Windows 8.1 または Windows Server 2012 R2 では、インストールを続行できません。
.NET Framework が有効になっていない場合、SQL Server 2012 のインストール中に次のようなエラー メッセージが表示されることがあります。
防止
この問題を回避するには、SQL Server 2012 をインストールする前に、クラスターのすべてのノードまたはスタンドアロン サーバーで .NET Framework 3.5 を有効にします。
解像度
スタンドアロン サーバーでこの問題を解決するには、.NET Framework 3.5 を有効にしてから、セットアップをもう一度実行して機能を追加します。
クラスター環境でこの問題を解決するには、不完全な SQL Server 2012 インスタンスをアンインストールし、.NET Framework 3.5 を有効にしてから、SQL Server 2012 を再インストールします。
Note
クラスター化された環境では、SQL Server 2012 セットアップを再度実行してスキップされた機能を追加することはできません。
スタンドアロン サーバーでこの問題を解決するには、.NET Framework 3.5 を有効にしてから、SQL Server セットアップをもう一度実行します。
問題 2 - .NET Framework 3.5 をダウンロードしてインストールするようにユーザーに間違って求められる
現象
ユーザーが CU1 または CU2 をインストールしようとしたときに、誤って .NET Framework 3.5 をダウンロードしてインストールするように求められる場合があります。 この問題は、インストールされているコンポーネントが .NET Framework 3.5 に依存していない場合でも発生する可能性があります。
このような場合は、次のようなエラー メッセージが表示されることがあります。
原因
これは、SQL Server 2012 CU1 と CU2 の既知の問題です。
Note
この問題は、SQL Server 2012 以降のバージョンの累積的な更新プログラム 3 で修正されています。
防止
この問題を回避するには、次のいずれかの操作を行います。
.NET Framework 3.5 を有効にし、CU1 更新プログラム パッケージまたは CU2 更新プログラム パッケージを適用してから、.NET Framework 3.5 を無効にします。
Note
.NET Framework 3.5 に依存するコンポーネントがインストールに含まれていない場合にのみ、.NET Framework 3.5 を無効にする必要があります。
SQL Server 2012 および CU3 以降のバージョンを含むスリップストリーム インストール パッケージから SQL Server 2012 をインストールします。
累積的な更新プログラム 3 以降のバージョンを適用します。 詳細については、「 SQL Server 2012 のリリース後にリリースされた SQL Server 2012 ビルドを参照してください。
問題 3 - サイレント インストール中に Windows アプリケーション互換モードのアラートが表示される
現象
Windows 8.1、Windows 8、Windows Server 2012 R2、Windows Server 2012、Windows 10、Windows Server 2016 では、.NET Framework はオンデマンド機能 (FOD) コンポーネントです。 さらに、Windows 10、Windows 8.1、および Windows 8 システム ポリシー、および Windows Server 2016、Windows Server 2012 R2、および Windows Server 2012 システム ポリシーでは、FOD コンポーネントが有効になっているときにユーザーに警告を表示する必要があります。
Note
既定では、.NET Framework 4.0 は Windows 8 および Windows Server 2012 で有効になっています。 さらに、.NET Framework 4.5 は Windows 8.1 および Windows Server 2012 R2 で有効になっており、.NET Framework 4.6 は Windows 10 および Window Server 2016 で有効になっています。 ただし、.NET Framework 3.5 は無効になっています。
したがって、.NET Framework 3.5 のダウンロードとインストールをユーザーに求めるプログラム互換モードの警告は、サイレント インストール中に表示される可能性があります。 これらのプログラム互換性アラートを抑制することはできません。 警告のスクリーンショットを次に示します。
Windows Server 2012 R2 と Windows Server 2012 - フル サーバー
Windows Server 2012 R2 と Windows Server 2012 - Server Core
防止
この問題を回避するために、ユーザーはサイレント インストールを実行する前に .NET Framework 3.5 を有効にすることができます。
SQL Server 2012 のセットアップに関するその他の問題
問題 1: SQL Server 2012 の 2 番目のインスタンスをインストールしようとすると、.NET Framework のハンドルされない例外が生成される可能性がある
現象
以下のシナリオについて考えてみます。
- SQL Server 2012 のインスタンスをインストールします。
- SQL Server 2012 のインスタンスをインストールすると、.NET Framework 4.0 ユーザー構成ファイルが作成されます。 さらに、インストール中に .NET Framework 3.5 が有効になります。
- SQL Server 2012 の 2 番目のインスタンスをインストールしようとするとします。
このシナリオでは、ハンドルされない例外が生成される可能性があります。 次のようなエラー メッセージが表示されます。
userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings の構成セクション ハンドラーの作成中にエラーが発生しました:ファイルまたはアセンブリ システム、Version=4.0.0.0、Culture=neutral、PublicKeyToken=xxxxx、またはその依存関係の 1 つを読み込めませんでした。 指定されたファイルが見つかりません。 (C:\Users\Administrator\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0\user.config)
原因
Windows 8 および Windows Server 2012 では、.NET Framework 4.0 が Windows 8 および Windows Server 2012 で既定で有効になっているため、この問題が発生します。 したがって、SQL Server 2012 をインストールすると、.NET Framework 4.0 ユーザー構成ファイルが作成されます。 さらに、インストール中に .NET Framework 3.5 が有効になります。
SQL Server 2012 の 2 番目のインスタンスをインストールしようとすると、.NET Framework 3.5 が既にインストールされているため、インストールでは .NET Framework 2.0 が使用されます。 これは、ユーザー構成ファイルの設定と競合すると、ハンドルされない例外が発生します。
Windows 8.1 および Windows Server 2012 R2 では、.NET Framework 4.5 が Windows 8.1 および Windows Server 2012 R2 で既定で有効になっているため、この問題が発生します。 そのため、SQL Server 2012 をインストールすると、.NET Framework 4.5 ユーザー構成ファイルが作成されます。 さらに、インストール中に .NET Framework 3.5 が有効になります。
SQL Server 2012 の 2 番目のインスタンスをインストールしようとすると、.NET Framework 3.5 が既にインストールされているため、インストールでは .NET Framework 2.0 が使用されます。 ユーザー構成の設定と競合すると、ハンドルされない例外が発生します。
Windows 10 および Windows Server 2016 では、.NET Framework 4.6 が既定で有効になっているため、この問題が発生します。 したがって、SQL Server 2012 をインストールすると、.NET Framework 4.6 ユーザー構成ファイルが作成されます。 さらに、インストール中に .NET Framework 3.5 が有効になります。
SQL Server 2012 の 2 番目のインスタンスをインストールしようとすると、.NET Framework 3.5 が既にインストールされているため、インストールでは .NET Framework 2.0 が使用されます。 これは、ユーザー構成ファイルの設定と競合すると、ハンドルされない例外が発生します。
防止
この問題を回避するには、SQL Server 2012 の 2 番目のインスタンスをインストールする前に、次のフォルダーにある User.config ファイルを削除します。
%userprofile%\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0
解像度
Note
この問題は、Microsoft SQL Server 2012 Service Pack 1 (SP1) で修正されています。
最初のインスタンスに Service Pack 1 が既にインストールされている場合、この問題は発生しません。 最初のインスタンスに Service Pack 1 をインストールできない場合は、次のいずれかの操作を行います。
SQL Server 2012 および Microsoft SQL Server 2012 Service Pack 1 を含む slipstreamed インストール パッケージ から 2 番目の SQL Server 2012 インスタンスをインストールします。 新しいインスタンスをインストールした後、SQL Server 2012 Service Pack 4 以降の更新プログラムを適用する必要があります。 詳しくは、「 SQL Server 2012 の最新のサービス パックの入手方法」をご覧ください。
SQL Server 2012 SP4 ファイルを使用してプレパッチを適用し、SQL Server 2012 をインストールします。
SQL Server 2012 RTM がインストールされていないコンピューターでは、次の手順を実行します。
SQL Server 2012 SP4 をダウンロードしてインストールします。ライセンス条項画面で、[ライセンス条項に同意します] チェック ボックスをオンにし、[次へ] を選択。
Note
セットアップ ファイルがインストールされ、インストール ウィザードが自動的に閉じます。
インストールを確認します。 これを行うには、 プログラムの追加と削除を開始し 次のものが一覧表示されていることを確認します。
- Microsoft SQL Server 2012 セットアップ、バージョン 11.0.7001.0
- Microsoft Visual C++ の 2 つのエントリ。
SQL Server 2012 RTM の既存のインスタンスを持つコンピューターの場合:
SQL Server 2012 SP4 をダウンロードしてインストールします。SP4 ファイルをローカル フォルダーに抽出します。 たとえば、SP4 ファイルを c:\sp4 に抽出します。
Note
このシナリオでは、SQL Server 2012 SP4 セットアップを実行できません。
SP4 ファイルを抽出したフォルダーで、 SqlSupport.msi をダブルクリックし、 Yesを選択します。
インストールを確認します。 これを行うには、 プログラムの追加と削除 を開始し、Microsoft SQL Server 2012 セットアップバージョン 11.0.7001.0 が一覧表示されていることを確認します。
Note
SQL Server 2012 SP4 ダウンロード ページの インストール手順 セクションを確認して、サーバーの正しいダウンロードを確認します。
問題 2: Windows Server 2012 R2 または Windows Server 2012 でファイル ストリーム共有機能が有効になっている SQL Server 2012 フェールオーバー クラスターをインストールできない
現象
Windows Server 2012 で FileStream
共有機能が有効になっている新しい SQL Server 2012 フェールオーバー クラスターをインストールしようとすると、次のようなエラー メッセージが表示されることがあります。
リソース 'SQL Server Filestream 共有 (FILESTREAM)' のプライベート プロパティ 'Security0x20Descriptor' を値 'System.Byte[]' に設定中にエラーが発生しました。 エラー: プロバイダーからクラスター コードを呼び出すエラーが発生しました。 例外メッセージ: 見つかりません。
原因
この問題は、セキュリティ記述子プロパティのサポートが Windows Server 2012 で削除されたために発生します。
防止
この問題を回避するには、 FileStream
共有機能を有効にせずにフェールオーバー クラスターをインストールします。 インストールが完了したら、 FileStream
共有機能を有効にします。
解像度
Note
この問題は、Microsoft SQL Server 2012 Service Pack 1 (SP1) で修正されています。
この問題を解決するには、 プログラムの追加または削除を使用して失敗したクラスター インスタンスをアンインストールし、 FileStream
共有機能を有効にせずにフェールオーバー クラスターをインストールします。 インストールが完了したら、 FileStream
共有機能を有効にします。
問題 3: SQL Server 2012 のインストール中にエラーが発生しました:"正しくない形式のプログラムを読み込もうとしました"
現象
以下のシナリオについて考えてみます。
- 64 ビット バージョンの Windows 10、Windows 8.1、または Windows 8 をインストールします。
- Windows on-Windows (WoW) モードで SQL Server 2012 をインストールしようとするとします。
- SQL Server 2012 のインストールには、Reporting Services が含まれています。
このシナリオでは、インストールが失敗します。 さらに、次のようなエラー メッセージが表示されます。
0x8007000Bで操作に失敗しました
正しくない形式のプログラムを読み込もうとしました。
防止
この問題を回避するには、SQL Server 2012 をインストールする前に、サーバー マネージャーを使用して IIS ASP.NET 3.5 コンポーネントをインストールします。 詳細については、「windows 8 または Windows Server 2012 で ASP.NET 4.5 をアンインストールした後、 ASP.NET 2.0 と ASP.NET 3.5 が機能しないを参照してください。
問題 4: SQL Server 2012 Enterprise Edition フェールオーバー クラスター インスタンスをインストールできない
現象
以下のシナリオについて考えてみます。
次のいずれかの操作を行います。
- SQL Server 2012 と CU1 を含むスリップストリーム インストール パッケージを作成します。
- SQL Server 2012 をインストールする前に、CU1 を使用してプレパッチを適用します。
SQL Server 2012 は、 UIMODE=EnableUIOnServerCore オプションを使用してインストールします。
このシナリオでは、インストールが失敗します。 次のようなエラー メッセージが表示されます。
エラーの詳細は次のようになります。
原因
この問題は、 DQ
機能がインストール中にエンジン コンポーネントと共に暗黙的に選択されるために発生します。
Note
DQ
機能は、Server Core モードではサポートされていません。
解像度
Note
この問題は、SQL Server 2012 RTM CU3 および SQL Server 2012 Service Pack 1 で修正されています。
この問題を解決するには、次のいずれかの操作を実行します。
- SQL Server 2012 と CU3 を含むスリップストリーム インストール パッケージを作成します。
- CU3 インストール パッケージを実行して、セットアップ サポート ファイルにパッチを適用します。
問題 5: クラスター ノードを SQL Server 2012 にアップグレードしようとするとエラー メッセージが表示される:"リソース 'SQL ネットワーク名 (<SQL 名>) の共通プロパティを保存できませんでした"
この問題とその解決方法の詳細については、「 クラスター ノードを SQL Server 2012 にアップグレードしようとすると、リソース 'SQL ネットワーク名 ()' の共通プロパティを保存できませんでした」エラーを参照してください。
問題 6: OpenSQLFileStream API を使用する場合のエラー メッセージ: "System.ComponentModel.Win32Exception (0x80004005): 要求はサポートされていません。"
現象
以下のシナリオについて考えてみます。
- Windows Server 2012 を実行しているサーバーに SQL Server 2008 R2 のインスタンスをインストールします。
- SQL Server 2008 R2 のインスタンスを SQL Server 2012 Service Pack 1 (SP1) にアップグレードします。
OpenSQLFileStream
API を使用します。
この場合に、次のようなエラー メッセージが表示されます。
System.ComponentModel.Win32Exception (0x80004005): 要求はサポートされていません。
原因
この問題は、SQL Server 2012 のアップグレードで次のレジストリ キーが誤って削除されるために発生します。
HKEY_LOCALMACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList\FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT
回避策
この問題を回避するには、レジストリ エディターを使用して、次のレジストリ キーを再作成します。
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList
Dword: FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT
Value: 0x92560
関連項目
windows 8 または Windows Server 2012 で ASP.NET 4.5 をアンインストールした後、ASP.NET 2.0 と ASP.NET 3.5 は機能しません。