November 14, 2012 at 3:30 am
Hi,
I want to know if there is a way to get the name of the Availability Group Listener in a query for a connection.
The @@SERVERNAME gives the server name and not the Availability Listener group name used to connect.
I want to know the DNS name used because I want to configure the ressource governor using the name of Availability Group Listener.
Thx
November 14, 2012 at 5:33 am
Check the following system catalog for listener info
select * from sys.availability_group_listeners
-----------------------------------------------------------------------------------------------------------
"Ya can't make an omelette without breaking just a few eggs"
November 14, 2012 at 5:48 am
Thank you, but this system view displays a list of all listeners groups and not only one in which I made my connection.
November 14, 2012 at 6:31 am
yes, so you'll need to filter for your particular group then won't you
Check the link below for more info
http://msdn.microsoft.com/en-us/library/ff878305.aspx
-----------------------------------------------------------------------------------------------------------
"Ya can't make an omelette without breaking just a few eggs"
November 14, 2012 at 8:10 am
I have thrown a look at the link, but I cant find my answer.
I give an exemple :
2 instances : mssql1, mssql2
2 DB : db1, db2
2 AG : ag1 with db1, ag2 with db2
2 listeners : ag1_lis, ag2_lis
In SSMS I connect to ag1_lis, with a query I want to display ag1_lis and not mssql1 when mssql1 is the primary replica for ag1 or for both AG !!!
November 14, 2012 at 8:11 pm
Try using this, it works on my demo environment.
select dns_name from sys.availability_group_listeners GL
join sys.availability_group_listener_ip_addresses LIP
on GL.listener_id = LIP.listener_id
join sys.dm_exec_connections C
on LIP.ip_address = c.local_net_address
where session_id = @@SPID
Cheers
Leo
Leo
Nothing in life is ever so complicated that with a little work it can't be made more complicated.
November 15, 2012 at 1:57 am
Thank you Leo, this is exactly what I want but now I have a problem to use this in my case.
I want to use the dns_name to configure the reresourceovernor and I can't use this code because it's based on system views and the classifier function for the reresourceovernor must be schemabinding and we can't schemabind on system objects.
How can I resolves my problem ?
November 15, 2012 at 8:48 am
I found my solution for the resource governor
this is an example of my classifier funcfion
create function [dbo].[UDFClassifier]()
returns sysname
with schemabinding
as
begin
declare
@WorkloadGroup sysname,
@local_net_address varchar(48)
select @local_net_address = CAST(ConnectionProperty('local_net_address') as varchar(48))
if @local_net_address = 'XX.XX.XX.XX'
set @WorkloadGroup = 'Grp1'
else
set @WorkloadGroup = 'default'
return @WorkloadGroup
end
thanks a lot
Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy