Aracılığıyla paylaş


Sistem işlevleri kullanma

Sistem işlevleri etkinleştirmek, erişim bilgileri SQL Server Sistem tabloları doğrudan erişim olmadan sistem tabloları.

Bazı adlar Transact-SQL sistem işlevleri iki at işareti (@) kullanarak başlatın.Önceki sürümlerindeki rağmen SQL Server @@ işlevleri bilinir genel değişkenler olarak, değişkenler değil olan ve aynı davranışı değişkenler olarak sahip@@ İşlevlerdir sistem işlevleri ve işlevleri için kuralları kendi sözdizimi kullanımını izler.

Her biri aşağıdaki sistem işlevleri veritabanları, ana bilgisayarlar, nesneleri, oturumları ve kullanıcıları için çiftleri bir tanımlayıcı (kimlik) verilen bir ad verir ve bir ad verildiğinde Kimliğini döndürür:

  • DB_ID ve db_name

  • HOST_ID ve host_name

  • OBJECT_ID ve nesne_adı

  • SUSER_ID ve suser_name (ya da SUSER_SID ve suser_sname)

  • USER_ID ve kullanıcı_adı

Örneğin, bir veritabanı kimlik numarası edinmek için DB_ID işlev, bir seçin çalıştırmak yerine kullanın sysobjects tablo.

Aşağıdaki örnek kullanarak açmış geçerli kullanıcının kullanıcı adını almak nasıl gösterir SQL Server kimlik doğrulama:

SELECT SUSER_NAME();

Aşağıdaki işlevleri benzer, ancak tamamlayıcı çiftler halinde oluşur ve birden fazla giriş parametresi aldıkları:

  • COL_LENGTH

    sütun uzunluğu, ancak değil sütunda depolanan tüm tek tek dize uzunluğunu döndürür.VERİUZUNLUĞU kullanmak işlev toplam değerin belirli bir değer karakter sayısını belirlemek için.

    Aşağıdaki örnek sütun uzunluğunu ve veri uzunluğunu verir LastName sütununda Employees tablo:

    SELECT COL_LENGTH('Employees', 'LastName') AS Col_Length, 
       DATALENGTH(LastName) AS DataLength
    FROM Employees
    WHERE EmployeeID > 6;
    
  • COL_NAME

    Sütun adını döndürür.

  • INDEX_COL SÜTUNLARLA

    Bir dizin sütun adını döndürür.

Information Schema görünümleri, sistem işlevleri kullanın veya sistem saklı yordamları sistem tabloları doğrudan sorgulama olmadan sistem bilgilerini elde etmek için önerilir.Sistem tabloları değiştirebilirsiniz önemli ölçüde sürümleri arasında SQL Server.