タグ

sqlserverに関するtk78のブックマーク (112)

  • SQLServer: 現在実行中クエリのリアルタイムトラブルシューティング - Qiita

    システムが突然遅くなる、特定の機能が突然遅くなった、いつまでたっても実行中のクエリが完了しない、などのトラブルの原因調査をリアルタイムで行うのに使えるクエリと、それらを組み合わせてトラブルシュートする一例を紹介します。 動的管理ビュー(DMV)を使用します。 1. 現在実行中のクエリ一覧を取得する SELECT TOP 100 der.session_id as spid ,der.blocking_session_id as blk_spid ,datediff(s, der.start_time, GETDATE()) as elapsed_sec ,DB_NAME(der.database_id) AS db_name ,des.host_name ,des.program_name ,der.status -- Status of the request. (background

    SQLServer: 現在実行中クエリのリアルタイムトラブルシューティング - Qiita
  • トラブルシューティングから学ぶSQL Server統計情報の更新タイミング - ZOZO TECH BLOG

    こんにちは。zozoバックエンド部の廣瀬です。 弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。 記事では、過去に経験したSQL Server関連のトラブル及びその調査内容をご紹介し、最後にトラブルシューティングを通して策定した統計情報の更新に関する方針をまとめます。 トラブル発生 ある日突然、SQL Serverが稼働しているサーバーのCPU使用率が高騰し、100%に張り付く状態が一定期間続きました。 CPU使用率のグラフを見ただけでは、なぜ突然高騰したのか原因は分かりません。 そのため、原因を特定するための調査を実施しました。 トラブルシューティング 同一ホスト上で稼働している主要なプロセスはSQL Serverしか無かったため、SQL Server上でCPUリソースを多く消費するようなクエリが実行されていることを疑いました。

    トラブルシューティングから学ぶSQL Server統計情報の更新タイミング - ZOZO TECH BLOG
  • データの一括インポートと一括エクスポート (SQL Server) - SQL Server

    適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Server では、SQL Server テーブルからのデータ (一括データ) の一括エクスポート 、および SQL Server テーブルまたはパーティション分割されていないビューへの一括データのインポートがサポートされています。 一括エクスポート とは、SQL Server テーブルからデータ ファイルにデータをコピーすることです。 一括インポート は、データ ファイルから SQL Server テーブルにデータを読み込むことを指します。 たとえば、データを Microsoft Excel アプリケーションから特定のデータ ファイルにエクスポートし

    データの一括インポートと一括エクスポート (SQL Server) - SQL Server
  • OPENROWSET (Transact-SQL) - SQL Server

    適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance OLE DB データ ソースからリモート データへのアクセスに必要な、すべての接続情報をインクルードします。 このメソッドは、リンク サーバー内のテーブルにアクセスする代わりに、OLE DB を使用してリモート データに接続しアクセスするアドホック メソッドです。 OLE DB データ ソースをより頻繁に参照する場合は、代わりにリンク サーバーを使用してください。 詳しくは、「リンク サーバー (データベース エンジン)」を参照してください。 OPENROWSET関数は、クエリのFROM句でテーブル名であるかのように参照できます。 OPENROWSET 関数は、INSERT、UPDATE、または DELETE ステートメントのターゲット テーブルとしても参照できます

    OPENROWSET (Transact-SQL) - SQL Server
  • DO's&DONT's #3: やらなければいけないこと - 非典型的パラメータ値が存在する場合の再コンパイル

    神谷 雅紀 SQL Server Escalation Engineer 非典型的パラメータの問題 非典型的パラメータ値に起因する問題があります。これは、ストアドプロシージャやパラメータ化クエリなどに、典型的ではない、普段使わないような特殊な値のパラメータ値が渡され、その値を用いてコンパイル及び最適化された実行プランがキャッシュされることによって引き起こされる問題です。この問題は、パラメータとして渡された値によって、検索範囲や結果セットが大きく変わる場合に発生します。このような実行プランは、parameter sensitive plan と呼ばれることがあります。また、このような非典型的なパラメーターに起因する問題は、atypical parameter problem と呼ばれることがあります。 それによって、何が起こるのか? パフォーマンスの問題が発生します。 以下のようなケースを考

    DO's&DONT's #3: やらなければいけないこと - 非典型的パラメータ値が存在する場合の再コンパイル
  • 照合順序 - 文字の比較と並び順 (その 1)

    神谷 雅紀 Escalation Engineer 照合順序が分かりにくいという意見がありましたので、今回は照合順序を取り上げます。 照合順序とは何か SQL Server では、文字の大小関係を比較する場合の基準を照合順序 (collation) と呼んでいます。例えば、「朝」と「海」ではどちらが大きいのか、「あ」「ア」「ア」を大きい順に並べた場合どのように並ぶのかといった、文字の大小関係を決めているのが照合順序です。 言語としての日語の観点では、「朝」と「海」のどちらが大きくても、さほど問題にはならないように思えるかもしれません。しかし、もしこれらの文字に大小関係がなかったら、データを大きい順に並べても毎回違った並び順になる可能性があります。さらに、もしこれらの文字に大小関係がなかったら、大きくも小さくもないということになります。大きくも小さくもないということは、 if (a < b

    照合順序 - 文字の比較と並び順 (その 1)
  • DO's&DONT's #6: 絶対にやってはいけないこと – ストアドプロシージャ内でのパラメータ値の変更

    tk78
    tk78 2016/10/07
    "OPTION(RECOMPILE) を指定することによって、この SELECT が実行される時、この SELECT だけが再度コンパイル及び最適化され、この SELECT 実行時点の @BranchCode の値をもとに、実行プランが選択しなおされます。"
  • パラメータを使うと遅くなる?

    質問 2010年12月14日火曜日 13:08 はじめまして。かざど と申します。 奇妙な現象にぶつかってしまったので、皆様の知恵をお借りしようと質問しました。 SQLServer2005(SP3)で、新規データベースを作成し、新規で下記のテーブルを作成しました。 drop TABLE [dbo].[DummyNames] go CREATE TABLE [dbo].[DummyNames]( [id] [int] NOT NULL, [Name] [nvarchar](50) NOT NULL, [Kana] [nvarchar](50) NOT NULL, [sex] [nvarchar](50) NOT NULL, [birthday] [datetime] NOT NULL, CONSTRAINT [PK_DummyNames] PRIMARY KEY CLUSTERED (id)

    パラメータを使うと遅くなる?
  • リンク サーバー クエリに変数を渡す方法

    この記事では、リンク サーバー クエリに変数を渡す方法について説明します。 オリジナル製品バージョン: オンライン ブックSQL Server 元の KB 番号: 314520 概要 リンク サーバーに対してクエリを実行する場合は、または OPENDATASOURCE ステートメントを使用するパススルー クエリを頻繁にOPENQUERYOPENROWSET実行します。 SQL Serverオンライン ブックの例を参照して、定義済みの Transact-SQL 文字列を使用してこれを行う方法を確認できますが、これらの関数に変数を渡す方法の例はありません。 この記事では、リンク サーバー クエリに変数を渡す方法の 3 つの例を示します。 パススルー関数のいずれかに変数を渡すには、動的クエリを作成する必要があります。 引用符を含むデータには、特定の処理が必要です。 基値を渡す 基的な Tra

    リンク サーバー クエリに変数を渡す方法
  • パフォーマンスモニタ監視項目

    ●データベース(0) ・SQL Server ノート(216) ・SQL Server(29) ●Windows(0) ・Windows一般(268) ・Windows Servers(27) ・IE/OE(26) ●ネットワーク(4) ●バックアップ・管理ツール(0) ・Backup Exec(32) ・ARCserve(20) ●MS Office(11) ●Linux(1) ●デスクトップカスタマイズ(2) ・Windows XP(5) ・Firefox/Thunderbird(2) ●W-ZERO3(1) ●資格(1) ●プロフィール(6) ●その他(1) 2007年10月(17) 2007年09月(18) 2007年08月(20) 2007年07月(21) 2007年06月(21) 2007年05月(21) 2007年04月(20) 2007年03月(21) 2007年02月(1

    パフォーマンスモニタ監視項目
  • UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs

    We're happy to announce that ASP.NET Core OData 9 has been officially released and is available on NuGet: Microsoft.AspNetCore.OData 9.0.0 The major highlight of this release is the update of the OData .NET dependencies to the 8.x major version. By updating the dependencies,...

    UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs
  • SQL Server Profiler とシステム モニタ(perfmon)連携による監視 - matu_tak’s blog

    SQL Server 2005 以降では、プロファイラ(SQL Server Profiler)でキャプチャした結果とシステム モニタ(パフォーマンス モニタ:perfmon)で取得したパフォーマンス カウンタの情報をまとめて表示することができるので大変便利です。 これを行う手順は、次のとおりです。 システム モニタでログ記録を開始 プロファイラでトレースを開始 :(監視) トレースを停止し、保存 (.trc ファイル) システム モニタでログ記録の停止 プロファイラで トレースを一度閉じる 閉じた後、トレース ファイル (.trc) を開く 「ファイル」 メニューの 「パフォーマンス データvのインポート」 をクリック

    SQL Server Profiler とシステム モニタ(perfmon)連携による監視 - matu_tak’s blog
  • パフォーマンス監視およびチューニング ツール - SQL Server

    適用対象 SQL Server Microsoft SQL Server では、SQL Server のイベントを監視したり、物理データベース デザインをチューニングしたりするための広範なツール セットを用意しています。 どのツールを選択するかは、実行する監視またはチューニングの種類や、監視するイベントによって異なります。 SQL Server の監視およびチューニング用のツールは次のとおりです。 組み込み関数では、サーバーが起動してからの SQL Server の利用状況に関するスナップショット統計が表示されます。この統計は、あらかじめ定義された SQL Server カウンターに格納されます。 たとえば、@@CPU_BUSY には、CPUSQL Server コードを実行している時間が格納されます。@@CONNECTIONS には、SQL Server の接続数または接続試行数が

    パフォーマンス監視およびチューニング ツール - SQL Server
  • sp_spaceused (Transact-SQL)

    適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) sp_spaceused システム ストアド プロシージャには、次のいずれかが表示されます。 現在のデータベースのテーブル、インデックス付きビュー、または Service Broker キューによって使用される行数、予約済みディスク領域、ディスク領域 データベース全体で予約および使用されるディスク領域 Transact-SQL 構文表記規則 構文 sp_spaceused [ [ @objname = ] N'objname' ] [ , [ @updateusage = ] 'updateusage' ] [ , [ @mode = ] 'mode' ]

    sp_spaceused (Transact-SQL)
  • 統計情報のサンプリングについて at SE の雑記

    統計情報を更新、作成するときにサンプリングレートを指定しないと既定のサンプリングが設定されます。 UPDATE STATISTICS (Transact-SQL) 統計 現在設定されている統計情報がどの程度のサンプリングで作成されているか確認するための方法をすこしまとめてみたいと思います。 ■統計情報のサンプリングの確認 現在作成されている統計情報のサンプリングですが、DBCC SHOWSTATISTICS で確認することができます。 # STAT_HEADER を設定することで、サンプリングが含まれているヘッダー情報だけを表示することができます。 実行結果の [Rows] と [Rows Sampled] を確認することで全体行に対してどれくらいのサンプリングで統計情報が作成されたかを確認することができます。 DBCC コマンドで取得しているので、全統計のサンプリングを取得するためにはカ

    統計情報のサンプリングについて at SE の雑記
  • Sql server のバックアップとリストアの基礎

    4. なぜバックアップの前にこの章が? SQL Server バックアップとリストアの基礎  バックアップとリストアを勉強するためには SQL Server のデータベースの構成を理解しておく必要が あります。  データベースの構成とバックアップの取得単位には密接 な関わりがあります。  データ更新の流れを理解することでバックアップ / リストアに影響のある設定の理解が深まります  なぜ、そのバックアップを取得する必要があるかの理解 につながります。 4 6. 各構成要素の役割 SQL Server バックアップとリストアの基礎 構成要素 説明 データベース データ ファイルグループ データファイルを束ねるための論理名 PRIMARY というファイルグループが必ず作成される プライマリデータファイルは PRIMARY ファイルグループに配置 データファイル 実際にデータが格納される

    Sql server のバックアップとリストアの基礎
  • SQL Server のバックアップの基本パターン at SE の雑記

    以前、SQLTO で [SQL Server のバックアップとリストアの基礎] というセッションを担当させていただきました。 ブログではバックアップについてまとめたことがなかったので少しまとめてみたいと思います。 2013/8/14 追記 投稿を見直して、内容を大幅に修正しています。 ■バックアップの基パターン バックアップの基パターンですが以下のようになると思います。 週に一度のユーザーデータベースの完全バックアップ ユーザーデータベースは完全バックアップ以外の曜日は差分バックアップ 毎日システムデータベースを完全バックアップ 一日に定期的な間隔でトランザクションログをバックアップ 過去のバックアップファイル (bak/trn) の削除 過去のメンテナンスプラン テキストレポート (txt) の削除 過去のバックアップログ (msdb のレコード) の削除 SQL Server のバ

    SQL Server のバックアップの基本パターン at SE の雑記
  • Nested に続いて Hash および Merge について説明してみる - 都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

    『 SQL Server の実行プランを少しだけ詳しく説明したみた 』で Nested Loop に関して説明しました。今回は、 Hash , Merge について説明します。 ※関係ないですけど、新幹線の移動中はブログを書くのにもってこいの環境です。 それでは題に戻ります。まずは、Hash です。実行プランを Hash に変更するため、OPTION句を 『 OPTION ( HASH JOIN ) 』 に変更します。 USE AdventureWorks2012 SET STATISTICS PROFILE ON SELECT * FROM [Production].[Product] a INNER JOIN [Production].[ProductInventory] b ON a.ProductID = b.ProductID OPTION(HASH JOIN) 実行プランの内

    Nested に続いて Hash および Merge について説明してみる - 都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo
  • OVER 句 (Transact-SQL) - SQL Server

    適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric のSQL 分析エンドポイント Microsoft Fabric のウェアハウス 関連するウィンドウ関数が適用される前に、行セットのパーティション処理と並べ替えを決定します。 つまり、OVER 句はクエリ結果セット内のウィンドウまたはユーザー指定の行セットを定義します。 その後、ウィンドウ関数はウィンドウ内の各行の値を計算します。 関数で OVER 句を使用すると、移動平均、累積集計、集計途中経過、グループ結果ごとの上位 N などの集計値を計算できます。 順位付け関数 集計関数 分析関数 NEXT VALUE FOR 関数

    OVER 句 (Transact-SQL) - SQL Server
  • 結合ヒント (Transact-SQL) - SQL Server

    適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance 結合ヒントにより、クエリ オプティマイザーで、SQL Server の 2 つのテーブル間の結合方法を設定します。 結合と結合構文に関する一般的な情報については、 FROM 句と JOIN、APPLY、PIVOT を参照してください。 引数 { LOOP |HASH |MERGE } クエリ内の結合は、ループ、ハッシュ、またはマージを使用します。 LOOP、HASH、またはMERGE JOINを使用すると、2 つのテーブル間に特定の結合が適用されます。 LOOP は、結合の種類として RIGHT または FULL と共に指定することはできません。 詳細については、結合に関するページを参照してください。 REMOTE 右側のテーブルのサイトで結合操作を実行します。 こ

    結合ヒント (Transact-SQL) - SQL Server