タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

SQLServerに関するamourkarinのブックマーク (4)

  • [SQL Server]新規追加したユーザーでログインすると エラー:18456 が発生して拒否される(Connect SQL アクセス許可が無い場合)

    [SQL Server]新規追加したユーザーでログインすると エラー:18456 が発生して拒否される(Connect SQL アクセス許可が無い場合) エラー例 まずはこちらを参考にし、エラー原因を特定してください。 Connect SQL アクセス許可が無い場合の対処方法 「Microsoft SQL Server Management Studio」で sa ユーザーなど、ログイン可能なユーザーでログインします。 [サーバー名] -> [セキュリティ] -> [ログイン] と辿り、問題となっているユーザーを右クリックして[プロパティ]を選択します。 [ログインのプロパティ画面]が表示されたら画面左側の[セキュリティ保護可能なリソース]を選択し、画面右上の[検索ボタン]をクリックします。 [オブジェクトの追加画面]が表示されたら[サーバー'サーバー名'(S)]を選択し、[OKボタン]を

  • SQL Server | 並列処理とは

    SQL Serverの並列処理とは PCには人間でいう頭脳にあたるCPUがあります。 昔はCPUは1つのPCに1つだけでしたが、最近では複数のCPUが入っていることが多いです。 複数のCPUがあると、同時に複数の処理ができます。 そして、SQL Serverの並列処理とはこの複数のCPUを使って1つのクエリを動かすことです。 並列処理のメリットとデメリット 並列処理のメリットは処理にかかる時間が短くなることです。 1つの頭で処理するより、複数の頭で分担して考えた方が早く終わるからです。 デメリットはCPUの負荷が高くなることです。 並列処理になる基準 並列クエリとなる基準は以下の通りです。 複数のCPUが搭載されている環境か スレッドの数に余裕があるか 並列プラン適したクエリ、インデックスか 処理行数が十分に多いか 分布統計が使用できるか (参考) 並列処理の次数 並列処理をやってみる テ

  • SQLServerのテーブルロック状態を取得するSQL

    SQL Serverでデッドロックの調査で苦労したので調査に使ったSQLなどをまとめておく。 SQL Serverにおいては、ロックの有無を確認するだけならsys.dm_tran_locksシステムビューですぐに確認できる。 しかし、sys.dm_tran_locksだけでは、テーブルロックや行ロックなどの情報がまとめて提供され、ロックされている対象も オブジェクトIDでの表記になるため非常にわかりにくいものになっています。 ですので、単純にSELECTするのではなく、IDからオブジェクト名を取得したり、オブジェクトの種類によって 別のシステムビューから情報を取得する必要があります。 手を加えたSQLが以下のようになります。 SELECT resource_type AS type --オブジェクトの種類 ,resource_associated_entity_id as entity_i

    SQLServerのテーブルロック状態を取得するSQL
  • a7215a6ec1b949430841

    ※検証にはSQLServerを使用しています。 プロダクション環境で1分ほどかかってしまうクエリを実行する機能があったため、1秒程度までチューニングしたときのお話です。 該当のSQLは、20個ほどのテーブルをJOINして結果をSELECTする複雑なSQLでした。 クエリの中にはサブクエリのJOINも含まれており、調査の結果このサブクエリがボトルネックになっているようでした。 実行プランをみると、IndexScanの実際の行数が2億オーバーです。該当テーブルは当は50万レコードくらいしかないので、最初はバグかな?と思いました。 統計情報は更新されているし、option(recompile)をつけて実行しても同じ実行プランで実行されてしまいます。 --問題のSQL概要(ざっくりしててすみません。。) SELECT いろんなカラム FROM いろんなテーブル -- ↓ ここがボトルネック JO

    a7215a6ec1b949430841
  • 1