タグ付けされた質問 「sql-server-2016」

SQL Server 2016(メジャービルドバージョン13.00.xxxx)。sql-serverにもタグを付けてください。

2
SQL Server 2016 Enterpriseのパフォーマンスが低い
長くなって申し訳ありませんが、分析に役立つように、できるだけ多くの情報を提供したいと思います。 同様の問題のある投稿がいくつかあることは知っていますが、これらのさまざまな投稿やWebで入手可能なその他の情報を既にフォローしていますが、問題は解決しません。 SQL Serverのパフォーマンスに深刻な問題があり、ユーザーを狂わせています。この問題は数年間続き、2016年末までは別のエンティティによって管理され、2017年以降は私が管理するようになりました。 2017年の半ばに、Microsoft SQL Server 2012パフォーマンスダッシュボードレポートに示されているインデックス付けのヒントに従って問題を解決することができました。効果はすぐに現れ、魔法のように聞こえました。最後の数日はほとんど常に100%だったプロセッサーが非常に穏やかになり、ユーザーのフィードバックが鳴り響きました。通常、特定のリストを取得するのに20分かかり、最終的に数秒で完了できるため、ERP技術者でさえ喜んでいました。 しかし、時間の経過とともに、それは徐々に悪化し始めました。インデックスが多すぎるとパフォーマンスが低下するのではないかと心配して、インデックスの作成を避けました。しかし、ある時点で、不要なものを削除して、Performance Dashboardが提案する新しいものを作成する必要がありました。しかし、影響はありません。 ERPでの保存とコンサルティングの際に感じられる遅さは本質的にです。 次の構成のSQL Server 2016 Enterprise(64ビット)専用のWindows Server 2012 R2があります。 CPU:Intel Xeon CPU E5-2650 v3 @ 2.30GHz メモリ:84 GB ストレージに関して、サーバーにはオペレーティングシステム専用のボリューム、データ専用のログ、およびログ専用のボリュームがあります。 17データベース ユーザー: 最大のDBでは、ほぼ113人のユーザーが同時に接続されています 他には約9人のユーザーがいます それらの2つで3 + 3 残りのユーザーはそれぞれ1人だけです 大規模なデータベース用にも作成するWebがありますが、使用頻度ははるかに低く、約20人のユーザーがいるはずです。 DBのサイズ: 最大のデータベースは290 GBです。 2番目に大きいものは100 GB 3番目に大きいものは20 GB 4番目の14 GB 残りはそれぞれ3 GBを少し超えています これは本番環境のインスタンスですが、ほとんどの場合私がそこに接続しているだけなので、この目的のために無視できると思われる開発のインスタンスもありますが、この問題は、接続していない場合でも常に発生します。 プロセッサはほとんどの場合、次のようになります。 …

1
CPUが100%、実行プランが不良
特定のクエリで使用されている実行プランに問題があるため、CPUスパイクが100%になるという大きな問題があります。私は今、自分で解決するのに数週間を費やしています。 私のデータベース 私のサンプルDBには、3つの簡略化されたテーブルが含まれています。 [データ・ロガー] CREATE TABLE [model].[DataLogger]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [ProjectID] [bigint] NULL, CONSTRAINT [PK_DataLogger] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 【インバーター】 CREATE TABLE [model].[Inverter]( [ID] [bigint] IDENTITY(1,1) NOT NULL, [SerialNumber] [nvarchar](50) NOT NULL, CONSTRAINT [PK_Inverter] …

1
SQL Server 2016にはまだsqlmaint.exeが含まれていますか?
文書によると、(非推奨のデータベースエンジンは、SQL Serverの2016年に機能)、sqlmaint.exeまだ(強調鉱山)利用可能であるべきです: このトピックでは、SQL Server 2016で引き続き利用できる、非推奨のSQL Serverデータベースエンジン機能について説明します。これらの機能は、SQL Serverの将来のリリースで削除される予定です。 ... ツール:sqlmaintユーティリティ... それは間違いなくされて表示されていない上廃止される機能のリスト。 しかし、sqlmaint.exe最近インストールしたSQL Server 2016 Expressシステムでは見つかりません。以前のバージョンでは、と同じフォルダにありましたsqlserver.exe。 ドキュメントは間違っていますか?または、ファイルの場所が移動しましたか?または、インストールプロセス中に何かを見逃しましたか? (注:この問題を再現するコメントに励まされて、私はこのためのMicrosoft Connectエントリを作成しました。これはUserVoiceに移行されました。)

4
「AlwaysOn」は常に「Always On」ではありませんか?
Windowsフェールオーバークラスターを作成し、SQL Serverの2つのインスタンスをSQL Serverフェールオーバークラスターのノードとして追加しました。 SQL構成マネージャーで「AlwaysOn可用性グループ」を使用するようにサーバーを設定します。 フェイルオーバーをテストするために、長いクエリをロードして実行し、次にFailover Cluster Managerを使用してアクティブノードを停止し、アクティブノードのクラスターサービスを停止しました。 クエリは接続なしで壊れ、ノードがドレインされて新しいノードが引き継ぐ前に、サーバーは約20秒間使用不可と表示されました。 私はこれを間違っていましたか?接続がほとんどまたはまったく失われないように、これをどのように構成する必要がありますか? AlwaysOnは常にオンではありませんか?

2
SQL Server 2016 Standard Editionはテーブルのパーティション分割をサポートしていますか?
SQL Server 2008 Enterprise EditionをSQL Server 2016 Standard Editionにアップグレードしたい。ただし、1つのデータベースは、複数のファイルグループにまたがるテーブルパーティションを使用します(大きなログテーブルで使用され、毎日がパーティションです)。 私はで見るSQL Serverの2016年のためのエディションとサポートされる機能、それはスタンダード版がサポートしていることを言うことは、「RDBMSスケーラビリティとパフォーマンス」の下にテーブルとインデックスのパーティションを、それがないではないサポートするパーティション表の並列処理を。 私がこれの結果を完全に理解しているかどうかはわかりません。 私の場合、それは正確に何を意味し、データベースのパフォーマンスにどのように影響しますか?

1
AlwaysONは2014年から2016年に移行します
2014年には約500 DBSの20人のListnerがいます 最小限のダウンタイムと労力でこれらを移行する最良の方法は何ですか 私の考えは次のとおりです。アクセスの停止バックアップdbs復元の開始dbs復元の実行中:2014にAOGをドロップ2016に作成完了 これは簡単に見えますが、TBデータの場合、これにはしばらく時間がかかります。 > -持っているが、この見つかった 2014年から2016年までのAlwaysOn AGをアップグレードするための推奨方法を しかし、それはnietherを説明しません 誰かが助けてくれることを願っています

3
テンポラルテーブルがトランザクションの開始時間を記録するのはなぜですか?
テンポラルテーブルの行を更新するとき、行の古い値は、トランザクションの開始時刻をとして履歴テーブルに保存されますSysEndTime。現在のテーブルの新しい値には、トランザクションの開始時刻としてがありSysStartTimeます。 SysStartTimeそして、SysEndTimeされているdatetime2行が現在のバージョンであったときに記録する時間テーブルによって使用されるカラム。トランザクション開始時間は、更新を含むトランザクションが開始した時間です。 BOLさんのコメント: システムのdatetime2列に記録される時間は、トランザクション自体の開始時間に基づいています。たとえば、単一のトランザクション内に挿入されたすべての行は、SYSTEM_TIME期間の開始に対応する列に記録された同じUTC時間を持ちます。 例: Ordersテーブルのすべての行の更新を開始20160707 11:00:00し、トランザクションの実行に5分かかります。これにより、履歴テーブルにSysEndTimeas を使用して各行の行が作成され20160707 11:00:00ます。現在のテーブルのすべての行がありますSysStartTimeのを20160707 11:00:00。 誰かが20160707 11:01:00(更新の実行中に)クエリを実行すると、古い値が表示されます(デフォルトの読み取りコミット分離レベルを想定)。 しかし、誰かがAS OF構文を使用してテンポラルテーブルをそのままクエリする20160707 11:01:00と、新しい値が表示されSysStartTimeます20160707 11:00:00。 これは、当時のようにそれらの行が表示されないことを意味します。トランザクションの終了時刻を使用した場合、問題は存在しません。 質問:これは仕様ですか?何か不足していますか? トランザクションの開始時間を使用していると考えることができる唯一の理由は、それがトランザクションの開始時に唯一「既知」であるということです。開始時にトランザクションがいつ終了するかは不明であり、終了時に終了時刻を適用するのに時間がかかり、適用していた終了時刻が無効になります。これは理にかなっていますか? これにより、問題を再現できます。

4
SQL 2016 SQL Serverアサーション:ファイル:<pageref.cpp>、line = 951失敗したアサーション
現在、データウェアハウスをSQL 2012からSQL 2016にアップグレードしています。新旧両方のDWを並行して実行しています。 私のETLプロセス(サードパーティがSSISで開発したフレームワーク)は2012年に2年以上正常に実行されましたが、2016年には失敗しています。これまでのところ、データベースとETLプロセスは同じです。 どちらのサーバーも、VMWareで実行される仮想マシンです。古いサーバーはWin 2008で、24GbのRAMを搭載しています。SQL 2012標準 最大メモリは16Gbに設定されています。新しいサーバーは64GbのRAMを備えたWin 2012です。SQL 2016開発者。最大メモリは50Gbに設定されています。新しいDWはv13.0.1601.5 RTM Developer Edition(64ビット)を実行しています。 ETLプロセスの実行中に、SQL Mergeを使用してディメンションまたはファクトテーブルにロードするステップは、次のエラーで失敗します。 全文: 説明:SQL Serverアサーション:ファイル:、行= 951失敗したアサーション= 'IS_OFF(BUF_MINLOGGED、m_buf-&gt; bstat)|| pageModifyType!= PageModifyType_Contents || GetPagePtr()-&gt; IsTextPage() '。このエラーはタイミングに関連している可能性があります。ステートメントを再実行してもエラーが解決しない場合は、DBCC CHECKDBを使用してデータベースの構造的な整合性をチェックするか、サーバーを再起動してメモリ内のデータ構造が破損していないことを確認してください。 推奨されるとおり、DBCCを実行しましたが、エラーは見つかりませんでした。SQLも再起動しました。次に、ETLプロセスを再起動したところ、同じエラーが発生しました。 このエラーを検索したところ、SQL 2008、2012、2014の既知のエラーであり、その後の修正プログラムと累積的な更新で修正されたことがわかりました。2016年に再び表示されるのを見て少し驚いています。 私が見つけたリンクは、データベースがシンプルまたは一括ログ復旧モデルである場合に挿入を行おうとすると、SSISに影響を与えると言っています。(私は単純復旧モデルで実行しています) 推奨される回避策は、DB復旧モデルをFULLに変更することです。私はこれを試してみましたがうまくいきましたが、それはデータウェアハウスの解決策ではありません。 2016年に他の誰かがこれに遭遇しましたか? 誰かが代替の回避策を提案できますか? アップデート: 2016年7月26日:重要な更新KB3164398(v13.0.1708.0)を適用しましたが、問題はまだ存在しています。 2016年7月27日:累積的な更新プログラムCU1 KB3164674(v13.0.2149.0)を適用しました。 2016年3月8日:最小のキューブでエラーが一晩発生しました。CU1は問題を修正しませんでした。本日、私はMSコネクトのバグを報告し、マイクロソフトとのサポートコールも記録しました。 2016年12月8日:最初にMS-Supportが応答しましたが、「それに対する修正はありません」という応答でした。サポート担当者は、同僚とそれについて話し合い、私に連絡するつもりでした。8日後、彼から連絡がありません。 「解決策」はありませんが、自分に適した回避策を見つけました。私の投稿した回答をご覧ください。 2016年9月9日。先週CU2を適用しました。Thursayで、同じエラーで再び失敗した古いバージョンのマージを誤って実行しました。CU2はそれを修正していません。 2017 年 1 月23日:2016 SP1 CU1を適用しました。これで問題が解決したと思います。特にKB3205964

2
2016へのアップグレード後、SQL Serverエージェントはインスタンスに接続できません
SQL Server 2014 Enterpriseを備えたクラスター化されたWindows 2012 R2サーバー。 2014 SP1 CU4から2016 RTMにインスタンスをアップグレードしただけで、SQL Serverエージェントを起動しようとするとこのエラーが発生します。 SQLサーバーエージェントログ 2016-06-06 11:53:58 - ? [100] Microsoft SQLServerAgent version 13.0.1601.5 (X64 unicode retail build) : Process ID 10884 2016-06-06 11:53:58 - ? [495] The SQL Server Agent startup service account is DOMAIN\USERNAME. 2016-06-06 11:54:28 - ! [150] SQL Server …

1
ネストされたループの統計I / Oを設定する
以下のクエリを考えてみましょう: CREATE PROC dbo.GetPage @orderid AS INT = 0, -- anchor sort key @pagesize AS BIGINT = 25 AS SELECT TOP (@pagesize) orderid, orderdate, custid, empid FROM dbo.Orders WHERE orderid &gt; @orderid ORDER BY orderid; exec GetPage 25,25 上記のクエリに対してSET STATISTICS IOが返されました: (25 row(s) affected) Table 'Orders'. Scan count 1, logical …

3
データウェアハウスサーバー。RAM / CPU仕様をどのように計算しますか?
計画中のデータウェアハウスアップグレード用のデータウェアハウスサーバーの仕様を記述しようとしています。 VMWareホストで仮想サーバーを実行すると、必要に応じてリソースを追加または削除できます。以前は、必要に応じてRAMとCPUを段階的に追加していました。需要が高まるにつれて、より多くのリソースを求めてロビー活動を行ってきました。(主にディスクとRAM)。 もっとお願いします。彼らは私たちにできるだけ少ないを与えます。 しかし、最近リソースについて話すときはいつでも、そもそもマシンを正しく指定していないと非難されており、開発ホストが使い果たされていると言われ、RAMはもうありません。 私たちは小さな地方自治体の組織であり、DWを50人まで定期的に利用しています。通常の日常使用では問題なく動作します。mdxクエリのパフォーマンスは良好で、レポートとダッシュボードは高速です。ユーザーは満足しています。 ただし、ETLプロセスは夜通し実行されるため、データマートを同時に処理すると、メモリプレッシャーの兆候が見え始めています。昨夜、SSISは「メモリ不足エラー」に関する警告で失敗しました。 私たちの既存のDWサーバーは4つのCPUと16GbのRAMを搭載したWin 2008 R2で、SQL 2012 Stdを実行しています。私が持っている最大サーバーメモリ等の当社の既存のDWは3マート/ OLAPキューブを持っており、我々はより多くの2を開発しているOSおよびサービスのための4ギガバイトを残して、12ギガバイトのセットを。 +----------+----------+---------------+-----------+---------------+ | Datamart | Files GB | Fact (Rows) | Fact (Mb) | ETL &amp; Process | | OLAP cube| | | | Time (hours) | +----------+----------+---------------+-----------+---------------+ | PBI | 3 | 190,000 | 180 | 0.2 | …

4
VM上のシングルコアSQL Server
最近、私たちの学区はいくつかのサーバーをバージョン2005から2016に、そして物理サーバーからVMサーバーにアップグレードしました。 私たちのインフラストラクチャチームは、SQL Serverインストール用のVMサーバーをシングルコアで提示しました。 その部門の責任者に、SQL Serverがシングルコア上にあることが「嫌い」であり、彼が「証拠」を見たいと望んでいることを説明しようとしています。私が提示したデータはどれも彼の証明の必要性を満たしていなかったため、VM SQL Serverがシングルコアで効率的に動作しない理由に関するいくつかの記事を求めました。 これにはどの記事を使用しますか? 私のケースを作るために私に何か助けていただければ幸いです!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.