このプログラムには、SQLServer2005データベースとSQLServer2005Expressが付属しています。通常、SQLServer2005の独自のインスタンスをクライアントのコンピューターにインストールします。
次に、プログラム内からのみコンテンツを更新する必要があるテーブルをいくつか追加する必要があります。たとえば、Management Studioを使用して、これらのテーブルが直接変更されないようにする必要があります。
どうすればこれを達成できますか?ユーザー権限を設定する必要がありますか?暗号化を使用できますか?SQL Serverインスタンスにアクセスするために独自の「sa」パスワードを設定し、プログラム内からのみ使用することを考えましたが、それによってWindows認証によるアクセスが無効になることはありません。
[編集]私がやろうとしていることのいくつかの説明。プログラムは、時間と出席のプログラムです。従業員の時計はタイムレコーダーから収集され、データベースに保存されます。一度収集されると、これらのクロッキングを削除したり、日付と時刻の値を変更したりすることはできません。したがって、ユーザーがデータベース内でこれらの値を直接操作できないようにする方法が必要です。
お客様の大多数はSQLの経験がないため、プログラムのインストール時にこれらのアクセス許可を設定する必要があることに注意してください。
[編集2]ご回答ありがとうございます。このテーマに関連してさらに2つの質問をしたいと思います。
1-Windows認証を介してDBにアクセスするユーザーにSELECT権限のみを付与できますか?
2-ハッシュシステムを介してテーブルを変更から保護することは可能/実行可能ですか?ハッシュ列を追加して各行のハッシュを計算し、行データをハッシュと比較して変更を確認するようなものですか?