BU GÖREVDE
Özet
Bu makalede, Microsoft SQL Server OPENROWSET veya OPENDATASOURCE işlevi kullanan geçici sorgular devre dışı bırakma.
Transact-SQL deyimleri devre dışı bırakma
Aşağıdaki eylemlerden birini gerçekleştirerek OPENROWSET ve OPENDATASOURCE işlevleri belirli OLE DB sağlayıcıları ile geçici bağlantı dizeleri kullanın Transact-SQL deyimleri devre dışı bırakabilirsiniz:
-
SQL Server çalıştıran bir bilgisayarda bir bağlantılı sunucu oluşturduğunuzda, DisallowAdHocAccess özelliği için OLE DB sağlayıcı belirtebilirsiniz.
-
Bağlantılı sunucu zaten varsa, kayıt defterini el ile değiştirmeniz ve ardından DisallowAdHocAccess değerini ekleyin.
Bağlantılı sunucu oluşturduğunuzda DisallowAdHocAccess özelliği belirtin.
SQL Server çalıştıran bir bilgisayarda bir bağlantılı sunucu oluşturduğunuzda, DisallowAdHocAccess özelliği için OLE DB sağlayıcı belirtebilirsiniz. Bunu yapmak için şu adımları izleyin:
-
SQL Server Enterprise Manager'ı açın ve sonra söz konusu sunucunun Security klasörünü seçmek için tıklatın.
-
Bağlantılı sunucular girişini sağ tıklatın ve sonra New Linked Server' ı tıklatın.
-
Kullanmak istediğiniz OLE DB sağlayıcısı seçmek için tıklatın ve ardından Sağlayıcı seçenekleri düğmesini tıklatın.
-
Aşağı kaydırın ve Disallow adhoc erişim özelliği onay kutusunu seçin. Bağlantılı sunucu girişinizi oluşturulmasını tamamlamak devam edin.
El ile kayıt defterini ve DisallowAdHocAccess değerini ekleyin
Bağlantılı bir sunucuya kaydedildikten sonra DisallowAdHocAccess özelliğini yalnızca bir kayıt defteri ayarını kullanarak ayarlayabilirsiniz.
Not: İki çizimler ve SQL Server OLE DB sağlayıcısı hem ODBC için OLE DB sağlayıcı nasıl değiştirebileceğinizi yalnızca örnekleridir. Farklı bir OLE DB sağlayıcı kullanmak istiyorsanız, bu sağlayıcının girdisini değiştirmeniz gerekir.
Önemli Bu bölüm, yöntem veya görev, kayıt defterini nasıl değiştireceğinizin anlatıldığı adımlar içermektedir. Ancak, kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Daha fazla koruma için değiştirmeden önce kayıt defterini yedekleyin. Daha sonra bir sorun çıktığında kayıt defterini geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
Yedekleme ve geri yükleme Windows kayıt defterinde 322756 nasıl
DisallowAdHocAccess değer ekleme
DisallowAdHocAccess değeri eklemek için şu adımları izleyin:
-
Kayıt Defteri Düzenleyicisi'ni başlatın.
-
Kayıt defterinde aşağıdaki anahtarı bulup tıklayın:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\<ProviderName>
Örnek
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL -
Düzen menüsünde, Değer Ekle'yitıklatın ve sonra bu kayıt defteri değerini ekleyin:
Value name: DisallowAdHocAccess
Data type: REG_DWORD
Radix: Hex
Value data: 1 -
Kayıt Defteri Düzenleyicisi'nden çıkın.
Varolan bir DisallowAdHocAccess değerini Değiştir
Varolan bir DisallowAdHocAccess değeri değiştirmek için şu adımları izleyin:
-
Kayıt Defteri Düzenleyicisi'ni başlatın.
-
Değerini bulun ve ardından DisallowAdHocAccess kayıt defterinde aşağıdaki anahtarın altında tıklatın:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\<ProviderName>
Örnek
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\Microsoft.ACE.OLEDB.12.0 -
Düzen menüsünde, DWORD 1yazın ve Tamam' ı tıklatın.
-
Kayıt Defteri Düzenleyicisi'nden çıkın.
Adlandırılmış bir örneği için kayıt defteri anahtarı farklıdır:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ < örnek adı > \Providers\ < ProviderName >
Not
-
1 0 bir değişiklik bir SQL Hizmeti yeniden etkinleştirilmeleri için yapılan değişiklik için sahip olması gerekir, oysa değerinin DisallowAdHocAscess 1 0 bir değişiklik SQL Service yeniden gerek duymaz.
-
DisallowAdHocAccess özelliği 1 olarak ayarlanmış SQL Server OPENROWSET ve OPENDATASOURCE işlevleri belirtilen OLE DB sağlayıcısına aracılığıyla anlık erişime izin vermez. Ad hoc sorgularda bu işlevleri çağırmak çalışırsanız, aşağıdakine benzer bir hata iletisi alırsınız:
Sunucu: Msg 7415, Level 16, State 1, satır 1 OLE DB Sağlayıcısı 'Microsoft.Jet.OLEDB.4.0' Ad hoc erişim engellendi. Bu sağlayıcı bir bağlantılı sunucu üzerinden erişmesi gerekir.
Diğer bir deyişle, DisallowAdHocAccess özelliği belirli bir OLE DB sağlayıcısı için 1 olarak ayarlayın belirli bir OLE DB sağlayıcısı için önceden tanımlanmış bağlantılı sunucu kurulum kullanmalısınız. Artık bu sağlayıcı OPENROWSET veya OPENDATASOURCE işlevi başvuran bir geçici bağlantı dizesinde geçirebilirsiniz.
Başvurular
SQL Server Çevrimiçi Kitapları; Konular: "Dağıtılmış sorgular için yapılandırma OLE DB sağlayıcıları"; "OPENROWSET Transact-SQL başvuru"; "OPENDATASOURCE Transact-SQL başvuru"