sql >> データベース >  >> RDS >> Database

SQLデータベース管理者インタビューのヒント

    面接は、SQLデータベース管理者の採用の最も重要なステップです。面接では、技術者または面接官が候補者の技術的経験について質問します。これらの質問の目的は、SQLServerに関する候補者の経験を理解することです。質問への回答はあなたの知識と経験を測定します。この面接であなたの経験を証明できない場合、おそらくあなたの雇用に関する決定は否定的です。まず、面接中は落ち着いてください。このアドバイスは成功への最も重要な鍵です。面接の最初の質問は、あなたの過去の経験とスキルについてです。この質問に関連して、あなたはあなたの古いそして現在の仕事の責任とスキルを説明するべきです。面接官にすべての知識と経験を示すことを確認する必要があります。この紹介はあなたの潜在的な雇用主に最初の影響を与えるからです。

    これとは別に、SQLServerに関するいくつかの技術的な詳細を再確認すると便利です。インタビュアーは、あなたが何度も使用するいくつかの見出しについて質問するかもしれませんが、この見出しの技術的な詳細については気にしないからです。 「varcharとnvarcharの違いは何ですか?」など技術面接に関するもう1つのアドバイスは、「SQLサーバーのdba面接の質問」をグーグルで検索し、これらの質問を調査することです。この練習の後、あなたの長所と短所を分析します。必要に応じて、SWOT(強み、弱み、機会、脅威)アプローチでこの分析をサポートできます。 SWOT分析はあなたの長所と短所を理解するのに非常に役立ちます。 (ウィキペディアによると:SWOT分析は、プロジェクトやビジネスベンチャーなどで予想される長所、短所、機会、脅威を見つけるためのツールです。これは、マーケティング環境(内部および外部)を意味します。組織または個人に)が見られます)

    面接中の一般的な問題はコミュニケーションです。面接官とうまくコミュニケーションをとるようにしてください。この感覚がインタビュアーの決定に影響を与えるからです。あなたが雇われている場合、この人はあなたの同僚またはチームマネージャーである可能性があることに注意したいと思います。また、誠実である必要がありますが、無礼にしないでください。そのため、面接官とのコミュニケーションが向上します。その結果、面接のプロセスはよりリラックスしてストレスのないものになります。インタビュープロセスがビデオ会議で行われる場合は、環境照明がカメラに十分であることを確認してください。したがって、ジェスチャーと模倣は適切な効果をもたらします。

    インタビュアーは、あなたが答えを知らないかもしれない質問をすることができます。この場合、あなたの経験で答えを見つけてみてください、あなたはインタビュアーが助けてくれると確信することができます。インタビュアーの目的はあなたの知識を測定することであることを忘れないでください。これをすべて要約すると:

    • 自己紹介をします。
    • 落ち着いてリラックスしてください。
    • 良好なコミュニケーション。
    • スキルを調査して分析します。
    • 誠実であること。
    • わからない答えを見つけてください。

    このセクションの後で、SQLServerインタビューで尋ねることができるいくつかのインタビューの質問を共有します。この質問は、SQLServerDBAの技術面接の質問の種類を理解するのに役立ちます。

    説明して​​いただけますか NOLOCKとREADPASTのクエリヒントの違いは?

    ノーロック ヒントは、SQLServerのすべてのダーティページを読み取ります。 Nolockヒントは、Readuncommitedとも呼ばれます。 Readpastヒントは、コミットされていないページをスキップし、ダーティページを読み取りません。

    今、私たちはこの答えを証明します。まず、テストテーブルを作成し、いくつかの合成データを入力します。

    DROP TABLE IF EXISTS TestForHint
    
    CREATE TABLE TestForHint
    (ID INT IDENTITY(1,1) PRIMARY KEY,
    FruitName VARCHAR(100),
    Amount INT)
    
    INSERT INTO TestForHint 
    VALUES ('Apple',20),('Orange',10),('Banana',50)
    In this step we will create an open transaction and observe Nolock and Readpast behaviors.  The below query will create an open transaction in Apple row. 
    BEGIN TRAN 
    UPDATE TestForHint SET Amount='10000' WHERE FruitName='Apple'

    このステップでは、異なるヒントを使用して2つのクエリを実行します。

    select * from TestForHint WITH(NOLOCK)
    
    go
    select * from TestForHint WITH(READPAST)

    このデモンストレーションでは、ReadPastヒントとNolockヒントの違いを示しました。結果として、これら2つのヒントには長所と短所があります。このため、本番環境のクエリでこのクエリヒントを使用する前に、慎重に検討してテストを行ってください。

    とは 含まれているデータベース?

    含まれているデータベースは、他のデータベースおよびデータベースをホストするSQL Server / SQLデータベース(およびマスターデータベース)のインスタンスから分離されたデータベースです。 SQL Serverは、WindowsとSQLServerの両方の認証に含まれるデータベースユーザーをサポートします。

    次に、含まれているデータベースを作成します。

    この最初のステップでは、含まれているデータベース認証オプションを確認します。このオプション値が0の場合、この設定を変更する必要があります。

    SP_CONFIGURE 'contained database authentication

    SP_CONFIGURE 'contained database authentication',1 
    GO
    RECONFIGURE
    GO
    SP_CONFIGURE 'contained database authentication'

    または、SQLServerの[詳細オプション]タブでこの設定を変更できます。

    次に、含まれているデータベースを作成します。 封じ込めタイプを設定します 部分的としてのオプション 。

    この手順では、SQLServerに依存しないユーザーを作成します。このタイプのユーザーは、封じ込めユーザーと呼ばれます。含まれているデータベースのバックアップを取り、別のSQLServerインスタンスを復元するとします。このデータベースを含まれているユーザーに接続できます。

    ヒント :含まれているデータベースの復元操作中にエラーが発生した場合は、この投稿にアクセスできます。

    次のクエリは、含まれているユーザーのリストを返します。

    SELECT name, type_desc, authentication_type, authentication_type_desc
     FROM sys.database_principals where (type='S' or type = 'U')
     and authentication_type=2

    CHECKPOINTとLAZYWRITERの違いは何ですか?

    チェックポイントプロセスは、バッファキャッシュに存在するダーティページをディスクに書き込みます。同時に、CHECKPOINTコマンドを手動で実行できます。

    CHECKPOINT [ checkpoint_duration ]

    チェックポイント期間パラメータに値を設定すると、SQLServerは要求された期間内にチェックポイントを実行しようとします。

    レイジーライターの目的は、メモリの負荷がかかった状態でバッファプールメモリを解放することです。 SQLServerエンジンによって管理されるレイジーライターメカニズム。 SQL Serverが大量のメモリを必要とする場合、Lazywriterは未使用のページを解放します。

    読み取り可能セカンダリ設定[はい]と[読み取りインテントのみ]の違いは何ですか?

    読み取り専用

    このレプリカのセカンダリデータベースへの読み取り専用接続のみが許可されます。セカンダリデータベースはすべて読み取りアクセスに使用できます。

    これらの読み取り可能なセカンダリオプションは、可用性グループのプロパティにあります。

    読み取り可能セカンダリ設定を読み取り専用に変更する場合は、SQL ServerManagementStudioの接続設定にいくつかの変更を加える必要があります。 ApplicationIntent =ReadOnlyを追加する必要があります 追加の接続パラメータへのパラメータ ManagementStudioの設定。

    このオプションは、セカンダリレプリカへの読み取り専用接続を有効化するのに役立ちます。

    はい

    このレプリカのセカンダリデータベースへのすべての接続が許可されますが、読み取りアクセスのみが許可されます。セカンダリデータベースはすべて読み取りアクセスに使用できます。

    いいえ

    このレプリカのセカンダリデータベースへのユーザー接続は許可されていません。読み取りアクセスには使用できません。これがデフォルト設定です。

    なぜSQLエージェントを使用するのですか?

    SQL Agentは、SQLServerのジョブスケジューリングメカニズムです。ジョブは指定された日時に実行できます。このメカニズムは、バックアップやその他のデータベース保守操作をスケジュールするのに特に役立ちます。 SQLServerエージェントノードの下に多くのオプションがあります。

    SQL Server 2017の新機能のいくつかを挙げていただけますか?

    • グラフデータベース
    • Pythonサポート
    • アダプティブクエリ処理
    • 自動プラン修正

    結論

    この投稿では、データベース管理者にインタビューのアドバイスを提供することを目的としています。面接のさまざまな質問をグーグルで検索できますが、質問以外の点には注意が必要です。これらのポイントが私たちを成功に導くからです。

    参考資料

    • データベースチェックポイント(SQL Server)
    • SQLServer2017での自動プラン修正
    • SQLデータベースでの適応クエリ処理

    1. SQLの結果をフィルタリングする方法は、多くのスルー関係になります

    2. Oracle FORLOOPREVERSEの例

    3. PostgreSQLでのScale()関数のしくみ

    4. OBJECTPROPERTY()を使用して、SQLServerでテーブルにDEFAULT制約があるかどうかを確認します。